Utilisation de spl_autoload_register
Bonjour,
Je ne parviens pas à utiliser la fonction spl_autoload_register (ou alors je l'utilise mal?? 8O ).
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:
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:
1 2 3 4 5 6 7 8 9
|
<?php
class dao {
function afficherdao() {
echo "dao";
}
}
?> |
Metier/metier.php :
Code:
1 2 3 4 5 6 7 8
|
<?php
class metier {
function affichermetier() {
echo "Metier";
}
}
?> |
et voici le joli message que je recois :
Citation:
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 :D