Bonjour,

Je ne parviens pas à utiliser la fonction spl_autoload_register (ou alors je l'utilise mal?? ).

Je veux auto-charger des classes depuis des répertoires différents j'ai donc utilisé des fonctions d'auto-chargements mais seule la première de la pile est prise en compte.

Voici le code que j'utilise pour les tests :

autocharge.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
 
<?php
 
function charge_classes_DAO($classNameDAO) {
	require_once "DAO/".$classNameDAO.".php";
}
function charge_classes_Metier($class_name) {
	require_once "Metier/".$class_name.".php";
}
 
spl_autoload_register('charge_classes_Metier');
spl_autoload_register('charge_classes_DAO');
 
$myobject = new dao(); 
echo $myobject->afficherdao();
 
$myobject2 = new metier(); 
echo $myobject2->affichermetier();
 
?>
DAO/dao.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php
class dao {
	function afficherdao() {
		echo "dao";
	}
}
 
?>
Metier/metier.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<?php
class metier {
	function affichermetier() {
		echo "Metier";
	}
}
?>
et voici le joli message que je recois :
Warning: require_once(Metier/dao.php) [function.require-once]: failed to open stream: No such file or directory in /home/user/www/test/autoCharge.php on line 7

Fatal error: require_once() [function.require]: Failed opening required 'Metier/dao.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/user/www/test/autoCharge.php on line 7
Quelqu'un sait il comment faire pour déclarer les deux répertoires (Metier et DAO) dans les chemins de l'autoload??

Merci