Bonjour,
De nouveau la même qui comprends pas… Zend, c'est nouveau, MVC, c'est nouveau…
Débord le problème niveau MVC : dans le tutoriel du site "premiers pas avec Zend" supposé suivre le modèle MVC, quelque chose me laisse perplexe…
Puisque le modèle MVC veut que l'on sépare clairement les trois parties, la requête devrait se faire dans le model qui renvoie le résultat au controller, non ?? Et ensuite la vue se charge d'une boucle, j'ai bon ?? BTW, dans le tuto la class du modèle ne contient qu'une ligne "$_name = 'table' " et le fetchAll est ensuite fait dans le controller.
Bref, le problème principal n'est pas là. D'abord mon code :
Vue
Controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <ul><?php foreach($this->articles as $article) { echo '<li>'.$this->article->titre.'</li>'; } ?> </ul>
Modèle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class IndexController extends Zend_Controller_Action { public function indexAction() { $this->view->title = "Accueil"; $news = new News(); $this->view->news = $news->lastNews(); $articles = new Articles(); $this->view->articles = $articles->lastArticles(); } }
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 class Articles extends Zend_Db_Table { protected $_name = 'articles'; protected $_primary = 'id'; public function lastArticles() { $select = $this->select('titre') ->from('articles') ->order('id DESC') ->limit(5); return $this->fetchAll($select); } }
La table contient les colonnes "id", "contenu", "titre", etc., mais dans mon cas seule la colonne titre m'interesse. Il me semble que je tout devrait être bon, mais il m'est annoncé "Notice: Trying to get property of non-object"…
Je cherche uniquement à afficher la liste des 5 derniers articles ajoutés, où est-ce que je plante ?? En triffoullant pour cherche une solution il arrive parfois que je me retrouve face à une notice parlant de "Zend_Db_Rowset" (désolé je n'ai pas pensé à la c/c).
Enfin, apprendre Zend est vraiment difficile, vu qu'à chaque fois les codes donnés sur internet sont tous différents (entrel es MVC/non-MVC, les bourrins/pas-bourrins, etc.)… Aussi, j'ai vu des modèles qui étendent des classes abstraites, donc Zend_Db_Table_Abstract…
Quel but ?? :s
Merci d'avance !
Partager