Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour.
Je debute avec ZF. Je dois programmer un portail web en utilisant le ZF. Ce doit etre une application modulaire. Mais ceci n'est pas le but de ma "visite". :s
J'ai pour m'entrainer, programmer une petite application utilisant deux classes simples, afin de me familiariser avec le MVC et le ZF.
L'architecture a été concue par le quickstart de ZF...
Voici le code de mes classes:
Donc ici, un modele: (Dans : animaux\application\models)
<?php require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance(); /** * * @author Podo * */ class Zend_Models_Animaux{ private $_idA; private $_nomA; /** * * @param $id * @param $nom * @return unknown_type */ function __construct($id, $nom){ $this->_idA=$id; $this->_nomA=$nom; } public function setUp(){ } function getId(){ return $this->_idA; } function getNom(){ return $this->_nomA; } public function selectAllAction(){ $configFile = "C:/Program Files/xampp/htdocs/testplugin/animaux/application/configs/dbConfig.ini"; $config = new Zend_Config_Ini($configFile,'dev'); $db = Zend_Db::factory($config->database); $query = "SELECT * FROM animaux"; $result = $db->fetchAll($query); return $result; } } ?>
Ici mon controleur: (Dans : animaux\application\controllers)
<?php require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance(); class Zend_Controllers_Cont{ function __construct(){ } function setUp(){ } public function listeAllAction(){ $obj=new Zend_Models_Animaux(0,""); $enreg=$obj->selectAllAction(); foreach($enreg as $animal){ $array[]=new Zend_Models_Animaux($animal[id_a], $animal[nom_a]); } return $array; } } ?>
Et enfin ma vue: (Dans : animaux\application\views\scripts)
<?php //require_once APPLICATION_PATH.'\controllers\Cont.php'; //require_once APPLICATION_PATH.'\models\Animaux.php'; require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance(); $cont = new Zend_Controllers_Cont(); $result=$cont->listeAllAction(); foreach($result as $obj){ echo $obj->getNom()."<br/>"; } ?>
Alors le probleme est:
Warning: include(Zend\Controllers\Cont.php) [function.include]: failed to open stream: No such file or directory in C:\Program Files\xampp\ZendFramework\library\Zend\Loader.php on line 83
Warning: include() [function.include]: Failed opening 'Zend\Controllers\Cont.php' for inclusion (include_path='C:\Program Files\xampp\htdocs\TestPlugin\animaux\application/../library;C:\Program Files\xampp\htdocs\TestPlugin\animaux\library;.;C:\Program Files\xampp\php\pear\;C:\Program Files\xampp\ZendFramework\library\') in C:\Program Files\xampp\ZendFramework\library\Zend\Loader.php on line
Je precise que lorsque je décommente les deux lignes en haut de ma vue, et que je supprime les deux suivante ca marche...
J'ai acheté le livre mais j'avoue etre un peu perdue :s Il ne traite pas avec précision de l'autolaod... Enfin plus ou moins mais j'ai vue que la version utilisée dans le livre est obsolète et du coup, l'exemple utilisé aussi
Dernière modification par podo (30-06-2009 10:11:07)
Hors ligne
Hello,
Le livre est basé sur ZF 1.5 et l'autoloader est arrivé en 1.8. Regardes plutôt du côté du quickstart officiel qui lui est basé sur la 1.8.
A+
Hors ligne
Qu'appelle tu Quickstart officiel ?
Hors ligne
Hors ligne
Wé c'est bon jl'ai trouvé
Merci
Hors ligne
Encore moi !
J'ai parcouru le tuto... Je l'ai fait... Seulement il utilise une base de donnée Sqlite :s Pour ma part mon projet utilise une base MySql et je ne sais pas trop faire marché le quickstart avec un autre type de base pour le moment... Une petite explication ne serais pas de trop
Hors ligne
Regardes ce tutoriel http://akrabat.com/wp-content/uploads/g … rk-162.pdf
Après c'est juste un adaptateur et des paramètres que tu changes assez facilement
Hors ligne
Merci Vincent ta solution m'a beaucoup eclairé Enfin une appli quasi complete qui marche... Je vais pouvoir regarder comment elle fonctionne
Hors ligne
Pas de soucis
Hors ligne
Bon et bien probleme resolue grace au tuto
Merci et a la prochaine ++
Hors ligne