Bonjour,
Voila j'ai suivi le tuto (traduit en francais) de developpez.com, concernant ZEND.
Je voulais modifier quelques trucs a ma sauce. En fait ce que je voulais faire c'est garder une trace de toutes les actions qui sont realiser sur la base de donnees.
j'ai repris les meme nom de classe que le tuto, donc pour ceux qui l'ont suivi ils vont pouvoir se retrouver rapidement dans mon code.
voila le IndexController.php
voici Album.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php class IndexController extends Zend_Controller_Action { function indexAction() { $this->view->title = "Mes albums"; //echo "<p>dans IndexController::indexAction()</p>"; $album = new Album(); // on creer l'objet // Attention j'ai remplacé fetchAll() par my_fetchAll(), methode de Album $this->view->albums = $album->my_fetchAll(); // affect le tableau d'albums dans une variable de la vue }
et voila XmlManager.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 <?php include "XmlManager.php"; class Album extends Zend_Db_Table { protected $_name = 'album'; private $xmlLog = null; /* Pour indiquer à Zend_Db_Table le nom de la table qu'il devra gérer, nous devons remplir la propriété protected $_name avec le nom de la table. Zend_Db_Table suppose que votre table a une clef primaire appelée "id" qui est auto incrementée. */ public function __construct(){ $xmlLog = new XmlManager(time(), 'Open XML Log From Album object', 'log.xml'); } public function my_fetchAll(){ // add entry in XML logFile return Zend_Db_Table::fetchAll(); // j'ai essayé : return parent::fetchAll(); ca fonctionne pas non plus } }
Lorsque je veux afficher la page d'index j'ai l'erreur suivante :
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 <?php class XmlManager { private $document = null; private $nb_ligne; private $time_creation; private $comment; private $file_name; public function __construct ($time='', $comment='', $file_name=''){ $this->nb_ligne = 0; $this->time_creation = $time; $this->comment = ''; $this->file_name = $file_name; $this->document = new DomDocument($file_name); $this->saveFile(); } public function addEntry($time, $comment){ //ajoute un message à l'arbre XML } public function saveFile() { $this->document->save($this->file_name); } }
Donc bah je suis bloqué ... je ne sais pas trop d'ou ca vient. surement des classes qui sont abstraites ou un truc comme ca ...Fatal error: Call to a member function select() on a non-object in C:\Program Files\Apache Group\Apache2\htdocs\zf-tutorial\library\Zend\Db\Table\Abstract.php on line 1064
Ca fait un moment que je n'ai pas toucher à la POO, enfin la vrai quoi ...
Donc je veux bien avoir vos conseils.
Merci
Partager