Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-05-2011 15:05:45

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Probleme de lien entre une classe dans un modèle et un controller

Hello à tous smile

Apres avoir fait le tuto pour lister les albums, je me suis lancé dans un autre sur les sessions :
http://zendgeek.blogspot.com/2009/07/ze … p-and.html

Mon controller  AuthController.php qui se trouve bien dans C:\wamp\www\ZF_OK_Tutoriel\application\controllers
fait donc appel à une class nommée users du fichier Users.php dans C:\wamp\www\ZF_OK_Tutoriel\application\models

Mais il ne la trouve pas roll
Fatal error: Class 'Users' not found in C:\wamp\www\ZF_OK_Tutoriel\application\controllers\AuthController.php on line 16

La ligne 16 étant donc : $users = new Users();

Qu'est ce qui peut bloquer cet appel  de classe ?

Dans les commentaires à la fin, quelqu'un a eu le même probleme et la solution donnée est de rajouter dans le bootstrap :

Code:

set_include_path('.'
. PATH_SEPARATOR . ROOT_DIR . '/application'
. PATH_SEPARATOR . ROOT_DIR . '/application/models'
. PATH_SEPARATOR . get_include_path()
);

Mais cela me génère des erreurs ...
Notice: Use of undefined constant ROOT_DIR - assumed 'ROOT_DIR' in C:\wamp\www\ZF_OK_Tutoriel\application\Bootstrap.php  à chacune des 2 root_dir !

Hors ligne

 

#2 11-05-2011 19:02:49

nuxwin
Membre
Lieu: Caen (14)
Date d'inscription: 17-03-2011
Messages: 66

Re: Probleme de lien entre une classe dans un modèle et un controller

Bonjour ;

Avez-vous essayer de nommer votre class comme ceci

Users.php :

Code:

[lang=php]class Application_Model_Users {}

et bien entendu, l'appel devient:

Code:

[lang=php]
$userModel = new Application_Model_Users();

Sinon, pouvez-vous nous communiquer le contenu de votre fichier de configuration ?

Note: Oubliez la proposition donnée en commentaire, elle n'est pas bonne.

Dernière modification par nuxwin (11-05-2011 19:04:54)

Hors ligne

 

#3 13-05-2011 14:30:47

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Re: Probleme de lien entre une classe dans un modèle et un controller

Merci Nuxwin de ton aide big_smile
Malheureusement, ce doit etre plus grave qu'une simple politique de nommage car l'erreur est la meme

Pour mon fichier de config, c'est celui que tu m'avais donné plus des parametres pour les sessions :

Code:

[production]
    phpSettings.display_startup_errors = 0
    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"

    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"

    appnamespace = "Application"
    autoloadernamespaces[] = "Zend_"

    resources.frontController.env = APPLICATION_ENV
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.throwExceptions = false
    resources.frontController.params.displayExceptions = 0

    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
    ressources.view.doctype = "XHTML1_STRICT"
    resources.view.charset = "UTF-8"
    resources.view.contentType = "text/html; charset=utf-8"

    phpSettings.date.timezone = "Europe/Paris"

    resources.db.adapter = "pdo_mysql"
    resources.db.params.charset = "utf8"
    resources.db.params.host = "localhost"
    resources.db.params.username = "utilisateur"
    resources.db.params.password = "utilisateur"
    resources.db.params.dbname = "tutoriel-zf"
    resources.db.params.profiler = false
    resources.db.isDefaultTableAdapter = true
    ;resources.db.params.persistent = true
    
    resources.session.save_path = APPLICATION_PATH "/../data/session"
    resources.session.use_only_cookies = true
    resources.session.remember_me_seconds = 864000
    resources.session.saveHandler.class = "Zend_Session_SaveHandler_DbTable"
    resources.session.saveHandler.options.name = "session"
    resources.session.saveHandler.options.primary.session_id = "session_id"
    resources.session.saveHandler.options.primary.save_path = "save_path"
    resources.session.saveHandler.options.primary.name = "name"
    resources.session.saveHandler.options.primaryAssignment.sessionId = "sessionId"
    resources.session.saveHandler.options.primaryAssignment.sessionSavePath = "sessionSavePath"
    resources.session.saveHandler.options.primaryAssignment.sessionName = "sessionName"
    resources.session.saveHandler.options.modifiedColumn = "modified"
    resources.session.saveHandler.options.dataColumn = "session_data"
    resources.session.saveHandler.options.lifetimeColumn = "lifetime"

[staging : production]

[testing : production]
     phpSettings.display_startup_errors = 1
     phpSettings.display_errors = 1

[development : production]
     phpSettings.display_startup_errors = 1
     phpSettings.display_errors = 1
     resources.frontController.throwExceptions = true
     resources.frontController.params.displayExceptions = 1

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages