Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-07-2010 21:46:29

syntaxlb
Membre
Date d'inscription: 01-07-2010
Messages: 14

Autoload des modeles

Bonjour, je débute sous Zend Framework, et en suivant un tutoriel, j'ai un problème pour l'autoload des modeles.

Voici mon index.php :

Code:

<?php
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
date_default_timezone_set('Europe/Paris');

define('APPLICATION_PATH', realpath(dirname(__FILE__)));
set_include_path(
      PATH_SEPARATOR . '../library'
    . PATH_SEPARATOR . '../application/models'
    . PATH_SEPARATOR . get_include_path());


// Autoloader
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();

// Chargement de la configuration
$config = new Zend_Config_Ini('../application/configs/config.ini', 'general');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);

// Mise en place de la BDD
$db = Zend_Db::factory($config->db);
Zend_Db_Table::setDefaultAdapter($db);

// setup controller
$frontController = Zend_Controller_Front::getInstance();

$frontController->throwExceptions(true);
$frontController->setControllerDirectory('../application/controllers');
Zend_Layout::startMvc(array('layoutPath'=>'../application/layouts'));

// run!
$frontController->dispatch();

Et mon Controller index :

Code:

<?php
class IndexController extends Zend_Controller_Action 
{
    public function indexAction()
    {
        $this->view->title = "Mes albums";
        
       $album = new Model_DbTable_Albums();
    }

Et enfin, mon modele Albums.php, qui se trouve dans public/application/modeles/DbTable/

Code:

<?php

class Model_DbTable_Albums extends Zend_Db_Table
{
    protected $_name = 'albums';
}

L'erreur est qu'il ne trouve pas ma class Model_DbTable_Albums, alors que normalement il devrait l'auto-charger.

Si je met ceci au début du controller Index :

Code:

include "../application/models/DbTable/Albums.php";

Ca fonctionne -logique- smile



Donc le problème doit être dans mon index.php, mais je n'arrive pas à trouver où ... :'(

Hors ligne

 

#2 02-07-2010 01:52:39

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Autoload des modeles

Ya rien de logique dans tout ce que tu dis lol xD
Si tu fais :

include "../application/models/DbTable/Albums.php";

alors que ton chemin est d'après toi

public/application/modeles/DbTable/

donc déjà sa colle pas hmm

Et ensuite encore un truc incohérent, tu nomme ta classe :

Model_DbTable_Albums

encore une nouvelle façon d'écrire modèle?
Il faut choisir, soit 'model', 'models', 'modele' ou 'modeles' mais pas les quatre xD

Ensuite si l'on suis la convention de nommage des classes --> http://zendframework.com/manual/fr/codi … tions.html
On devrait donc avoir : Application_Modeles_DbTable_Albums si ton chemin est application/modeles/DbTable/Albums.php


Voila, ensuite j'ai pas regarder ton index.php mais essai déjà de corriger ça big_smile

Hors ligne

 

#3 02-07-2010 10:12:50

syntaxlb
Membre
Date d'inscription: 01-07-2010
Messages: 14

Re: Autoload des modeles

Pardon faute de frappe mon chemin est bien "public/application/models/DbTable", donc pas de soucis dessus.

Sinon il me semble que l'Autoloader gére "Model" pour le dossier "models"?

EDIT:  J'ai essayé "Application_Model_DbTable_Albums" ( Models aussi ), mais rien à faire :

Fatal error: Class 'Application_Model_DbTable_Albums' not found in C:\wamp\www\tutoriel-zf\application\controllers\IndexController.php  on line 12

Dernière modification par syntaxlb (02-07-2010 10:13:57)

Hors ligne

 

#4 02-07-2010 18:39:26

syntaxlb
Membre
Date d'inscription: 01-07-2010
Messages: 14

Re: Autoload des modeles

Bon j'ai régler le problème en utilisant Zend_Application wink

Hors ligne

 

#5 20-07-2010 18:46:27

nicolasf
Nouveau membre
Date d'inscription: 20-07-2010
Messages: 2

Re: Autoload des modeles

Bonjour,

comment avez-vous fait exactement pour résoudre le problème car j'ai le même soucis !!

merci d'avance.

Hors ligne

 

#6 20-07-2010 20:37:35

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Autoload des modeles

Bonjour,

fait un tour sur la doc : http://framework.zend.com/manual/fr/zen … art.manual
wink

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