Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-02-2009 16:03:46

songaila
Membre
Date d'inscription: 12-02-2009
Messages: 16

[Résolu] Fatal error Class not found et autload

Bonjour,

  J'ai un probleme pour afficher des vues,
voila mon erreur:
Fatal error: Class 'Customers' not found in D:\www\Quick_Start_zend\application\controllers\CustomersController.php on line 8

code de CustomersController.php

Code:

          
           <?php
    class CustomersController extends Zend_Controller_Action {
        public function indexAction() {
            $table = new Customers();
            $this->view->customers = $table->fetchAll();
        }
    }

pour Customers.php

Code:

class Customers extends Zend_Db_Table {
        
        protected $_name = 'customers';
        protected $_primary = 'id';
        
    }

et pour index.php

Code:

<html>
    <body>
        <table>
            <thead>
                <th>ID</th>
                <th>Artist</th>
            </thead>
            <tbody>
                <?php foreach($this->customers as $customer) { ?>
                <tr>
                    <td><?php echo $customer->id; ?></td>
                    <td><?php echo $customer->artist; ?></td>
                </tr>
                <?php } ?>
            </tbody>
        </table>
    </body>
</html>

Quelqu'un aurait-il des informations là-dessus?

merci

A+

Dernière modification par Mr.MoOx (14-02-2009 02:07:25)

Hors ligne

 

#2 13-02-2009 16:22:12

3uclide
Membre
Date d'inscription: 09-08-2008
Messages: 194

Re: [Résolu] Fatal error Class not found et autload

Tu dois inclure ta classe Customers avant de l'instancier.

Pour un question de clarté je te conseil d'utiliser le foreach comme ça:

Code:

<html>
    <body>
        <table>
            <thead>
                <th>ID</th>
                <th>Artist</th>
            </thead>
            <tbody>
                <?php foreach($this->customers as $customer) : ?>
                <tr>
                    <td><?php echo $customer->id; ?></td>
                    <td><?php echo $customer->artist; ?></td>
                </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </body>
</html>

Hors ligne

 

#3 13-02-2009 16:22:51

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu] Fatal error Class not found et autload

Salut,


Si tu n'es pas en autoLoad sur Zend_Loader, il faut charger manuellement ta classe avant d'instancier l'objet.

Code:

Zend_Loader::loadClass('Customers');

En s'assurant que tu as bien rajouté le dossier contenant les classes de modèles de données dans ton include_path.

Sinon tu peux aussi utiliser un bon vieux require_once avec le chemin complet.



A+ benjamin.

Dernière modification par Delprog (13-02-2009 16:23:44)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#4 13-02-2009 17:02:01

songaila
Membre
Date d'inscription: 12-02-2009
Messages: 16

Re: [Résolu] Fatal error Class not found et autload

Bonjour,

Pour autoLoad  c'est fait en index.php

Code:

require_once "Zend/Loader.php";
Zend_Loader::registerAutoload();

A+

Dernière modification par songaila (13-02-2009 17:03:03)

Hors ligne

 

#5 13-02-2009 17:25:34

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu] Fatal error Class not found et autload

Ok, et dans l'include_path tu as bien ajouté le dossier contenant les modèles ?

Dernière modification par Delprog (13-02-2009 17:25:43)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#6 13-02-2009 18:20:42

songaila
Membre
Date d'inscription: 12-02-2009
Messages: 16

Re: [Résolu] Fatal error Class not found et autload

Bonjour
 
    Exactement c'est ca le probleme,
j'ajoutai le dossier contenant les modèles,

Code:

$paths = array(
APPLICATION_PATH . '/../library',
APPLICATION_PATH . DIRECTORY_SEPARATOR . 'models',
get_include_path()
);
set_include_path(implode(PATH_SEPARATOR, $paths));

C bon merci bcp

A+

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