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
DAO/dao.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(); ?>
Metier/metier.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"; } } ?>
et voici le joli message que je recois :
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"; } } ?>
Quelqu'un sait il comment faire pour déclarer les deux répertoires (Metier et DAO) dans les chemins de l'autoload??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
Merci![]()
Partager