bonjour,
j'ai essayer de modifier le loader comme il est expliquer dans la doc. ça marche plutot bien en autoload. Mais pas le loadClass.
voic ma class perso :et je fais ça dans le bootscrapt pour la charger :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php class Yb_Loader extends Zend_Loader { public static function autoload($class) { try { self::loadClass($class); return $class; } catch (Exception $e) { return false; } } public static function loadClass($class, $dirs = PATH_LIB) { try { $file = PATH_RACINE.'/model/'.strtolower($class).'.class.php'; $table = PATH_RACINE.'/model/tables/'.$class.'.php'; $zfile = PATH_LIB.'/'.strtr($class,'_','/').'.php'; if(file_exists($file)) { require $file; } elseif(file_exists($table)) { include $table; } else{ parent::loadClass($class, $dirs); } } catch(Exception $e) { throw $e; } } }
jusque là ça marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 include_once('Zend/Loader.php'); Zend_Loader::registerAutoLoad('Yb_Loader');
ensuite j'ai fait des test sur des model de table de données:
Là mes deux premier model fonction. Mais lorsque je cherche a faire la liaiso entre les deux ça marche plus. j'ai cette erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 //recupère la liste des adhérent $ad = new Tadherent(); $list = $ad->fetchAll(); Zend_Debug::dump($list); //recupère la liste des message $mess = new Twallmessage(); $list = $mess->fetchAll(); //test trouver l'adherent correspondant au message $author = $list->current()->findParentRow('Tadherent'); Zend_Debug::dump($author);je comprend pas pourquoi il ne le trouve pas mon model Tadherent. Je pense que ça se joue au niveau de loadClass. Apparement je passe pas dans celui de mon loader mais dans celui de ZF (le classique). Quelqu'un peux m'aider ou m'expliquer mon erreur ?Fatal error: Uncaught exception 'Zend_Db_Table_Row_Exception' with message 'File "Tadherent.php" does not exist or class "Tadherent" was not found in the file' in /home/guillaume/workspace/yb_dev/lib/Zend/Db/Table/Row/Abstract.php:915 Stack trace: #0 /home/guillaume/workspace/yb_dev/index.php(44): Zend_Db_Table_Row_Abstract->findParentRow('Tadherent') #1 {main} thrown in /home/guillaume/workspace/yb_dev/lib/Zend/Db/Table/Row/Abstract.php on line 915
merci
Partager