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 :
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;
			}
		}
}
et je fais ça dans le bootscrapt pour la charger :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
include_once('Zend/Loader.php');
Zend_Loader::registerAutoLoad('Yb_Loader');
jusque là ça marche.

ensuite j'ai fait des test sur des model de table de données:
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);
Là mes deux premier model fonction. Mais lorsque je cherche a faire la liaiso entre les deux ça marche plus. j'ai cette 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
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 ?
merci