IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Models de 0.6 vers 1.8 [ZF 1.8]


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut Models de 0.6 vers 1.8
    Bonjour, j'essaie d'avoir accès à mes données, mais en changeant de version je n'y arrive pas.

    Voici ce que je fais dans le Bootstrap

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?php
    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
     
        protected function _initLibraryNamespaces()
        {
            $autoloader = Zend_Loader_Autoloader::getInstance();
            $autoloader->registerNamespace(array('My_','OLE_','Spreadsheet_','Ssh_'));
     
            // Les modèles !!
            $application = new Zend_Loader_Autoloader_Resource(array(
                    'basePath'      => APPLICATION_PATH . '/models',
                    'namespace'     => '',
                ));
        }
     
     
        public function _initLang(){
            Zend_Session::start();
            $session = new Zend_Session_Namespace('default');
            if (! isset($session->lan))
            {
                $session->lan = 'fr';
            }
     
        }
     
     
    }

    et dans dans un controller je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $db = new Models_Spaces();
    J'obtiens l'erreur suivante :

    Fatal error: Class 'Models_Spaces' not found in /var/www/RdcMonGG1_8/app/controllers/SpacesController.php

    Comment déclarer le répertoire models dans l'application ?

    Merci de votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Par défaut
    Dans la 1.8 tu as le namespace Model:

    - Dans le dossiers models tu as tes models (Jusque là la logique est implacable....)
    - Tu as ton model Maclasse.php
    - Ta classe devrais se nommer comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    class Model_Maclasse extends Zend_db_Table_Abstract {
            // J'ai bien écrit "Model" sans "s".... 
    }
    de plus ça ne sert à rien de mettre ça dans ton bootstap

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $application = new Zend_Loader_Autoloader_Resource(array(
                    'basePath'      => APPLICATION_PATH . '/models',
                    'namespace'     => '',
                ));

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 215
    Par défaut
    http://www.developpez.net/forums/d76...rouvable-zend/

    Le nom de la classe doit effectivement contenir le namespace.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    cela ne fonctionne pas , avant la 1.8, je faisais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    set_include_path(
    '../library/'								.PATH_SEPARATOR.
    '../app/models'								.PATH_SEPARATOR.
    '../app/controller'							.PATH_SEPARATOR.
    get_include_path()
    );
    cela me suffisais à récupérer mes classes de données, or maintanant cela ne fonctionne plus.

    Sauf si je déplace toutes mes classes dans un sous répertoire /library/Models

    et que je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $autoloader->registerNamespace(array('My_','OLE_','Spreadsheet_','Ssh_','Models_'));
    Alors c'est Nikel, sauf que je dois renomer dans mes controller !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Par défaut
    Et tu a essayer en appellant ton model comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //en retirant le s...
    $db = new Model_Spaces();

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    oui

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage du Model relationnel(Entité-Relation) Vers un model dimensionnel (DW)
    Par Koko7a dans le forum Conception/Modélisation
    Réponses: 9
    Dernier message: 01/07/2016, 23h00
  2. récupérer une variable de 'Model' vers 'Controller'
    Par salmoucha dans le forum Zend Framework
    Réponses: 4
    Dernier message: 08/04/2008, 15h56
  3. [ORM] Objet Role Modeling vers modèle relationnel.
    Par Asuki dans le forum Schéma
    Réponses: 3
    Dernier message: 21/03/2008, 00h27
  4. [Entité-Association] passage du modéle entité association vers le modele relationnel
    Par hunter99 dans le forum Schéma
    Réponses: 1
    Dernier message: 24/11/2007, 13h10
  5. access export etat vers un modele de document word
    Par dougzacker dans le forum Access
    Réponses: 6
    Dernier message: 07/03/2006, 02h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo