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

Zend Framework PHP Discussion :

Problème class not found [ZF 1.10]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut Problème class not found
    Bonjour à tous,

    Je suis en train de suivre le tutoriel très bien fait de Rob Allen disponible à cette adresse "ici", cependant je bloque à un endroit, peut être arriverez vous à m'éclairer.

    Voici ma classe "Model_DbTable_Albums" contenu dans application/models/DbTable :

    <?php
    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
    31
    32
    33
    34
    35
    36
    37
    38
     
    class Model_DbTable_Albums extends Zend_Db_Table_Abstract
    {
        protected $_name = 'albums';
     
        public function obtenirAlbum($id)
        {
            $id = (int)$id;
            $row = $this->fetchRow('id = ' . $id);
            if (!$row) {
                throw new Exception("Impossible de trouver l'album $id");
            }
            return $row->toArray();
        }
     
        public function ajouterAlbum($artiste, $titre)
        {
            $data = array(
                'artiste' => $artiste,
                'titre' => $titre,
            );
            $this->insert($data);
        }
     
        public function modifierAlbum($id, $artiste, $titre)
        {
            $data = array(
                'artiste' => $artiste,
                'titre' => $titre,
            );
            $this->update($data, 'id = '. (int)$id);
        }
     
        public function supprimerAlbum($id)
        {
            $this->delete('id =' . (int)$id);
        }
    }

    et voici mon controller "IndexController" contenu dans application/controllers/IndexControllers.php :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class IndexController extends Zend_Controller_Action
    {
    	public function indexAction()
    	{
    	    $this->view->title = "Mes Albums";
    	    $this->view->headTitle($this->view->title, 'PREPEND');
    	    $albums = new Model_DbTable_Albums();
    	    $this->view->albums = $albums->fetchAll();
    	}
    .....



    Le problème étant qu'a l'affichage j'ai un message d'erreur : Fatal error: Class 'Model_DbTable_Albums' not found in C:\wamp\www\AsFormation\application\controllers\IndexController.php on line 11

    que je ne comprend pas vraiment étant donné que dans IndexController j'arrive à appeler les méthodes de ma classe Model_DbTable_Albums() via son objet $albums.

    Sauriez vous m'éclairer ou auriez tu une idée me permettant d'avancer ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Bonjour,

    Tu as utiliser la méthode d'AutoLoad dans ton Bootstrap ?!
    C'est quoi le nom du fichier php qui contient la classe "Model_DbTable_Albums" ?

  3. #3
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    Merci pour ta réponse,

    Ma classe est située dans une page qui s'appelle Albums.php


    Voici mon point d'entrée index.php situé dans le dossier public :

    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
    31
    <?php
    //##########################  Chargement des classes  ##########################################//
    	echo " ici nous sommes dans le bootstrap";
     
    // Define path to application directory
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
     
    // Define application environment
    defined('APPLICATION_ENV')
        || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
     
    // Ensure library/ is on include_path
    set_include_path(implode(PATH_SEPARATOR, array(
        realpath(APPLICATION_PATH . '/../library'),
        get_include_path(),
    )));
     
    /** Zend_Application */
    require_once 'Zend/Application.php';
     
     
    // Create application, bootstrap, and run
    $application = new Zend_Application(
        APPLICATION_ENV,
        APPLICATION_PATH . '/configs/application.ini'
    );
    Zend_Controller_Front::run('../application/controllers');
    $application->bootstrap()->run();
     
    ?>
    et voici mon Bootstrap.php qui est dans le dossier application et qui contient le code suivant :

    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
    <?php
     
    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
        protected function _initDoctype()
        {
            $this->bootstrap('view');
            $view = $this->getResource('view');
            $view->doctype('XHTML1_STRICT');
        }
    	protected function _initAutoload()
    	{
    		$moduleLoader = new Zend_Application_Module_Autoloader(array(
    			'namespace' => '',
    			'basePath' => APPLICATION_PATH));
    		return $moduleLoader;
    	}
    	protected function _initViewHelpers()
    	{
    	    $this->bootstrap('layout');
    	    $layout = $this->getResource('layout');
    	    $view = $layout->getView();
    	    $view->doctype('XHTML1_STRICT');
    	    $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
    	    $view->headTitle()->setSeparator(' - ');
    	    $view->headTitle(' Tutoriel Zend Framework');
    	}
    }

  4. #4
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    J'ai réussi à régler mon problème apparemment, au cas ou ça pourrait aider d'autres personnes, ZF étant très capricieux et sachant que je n'avait pas mes pages error.phtml et le contrôleur ErrorController.php, ZF refusait de tourner correctement.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Bonjour,


    Non, je pense que c'est bien .
    Bon courage.

    Cordialement.

  6. #6
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Par défaut
    oui dans l'absolue cette rigueur est bien pour avoir une application bien structurée, mais c'est frustrant d'avoir cette impression de ne plus savoir coder, de tout réapprendre.

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

Discussions similaires

  1. [ZF 1.11] Problème d'AutoLoad entre environnements - Fatal error: Class not found in
    Par eaglesnipe dans le forum Zend Framework
    Réponses: 4
    Dernier message: 22/03/2012, 09h15
  2. Réponses: 3
    Dernier message: 10/04/2009, 17h29
  3. Problème Concurrent class not found
    Par sunp dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 11/03/2008, 09h18
  4. [JSF] JspServlet class not found
    Par anitshka dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 22/07/2005, 10h44
  5. [EJB Session] class not found exception ?
    Par champion dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 11/02/2005, 23h46

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