Erreur avec la fonction spl_autoload_register
Résolu
thibautB
Messages postés
148
Statut
Membre
-
thibautB Messages postés 148 Statut Membre -
thibautB Messages postés 148 Statut Membre -
Bonsoir,
Je suis entrain d'apprendre la POO sur openclassroom mais j'ai un soucie avec la fonction spl_autoload_register et ne la comprend pas trés bien.
Quand j'active mon script les erreurs afficher sont
Pouvez m'aider s'il vous plait
Je suis entrain d'apprendre la POO sur openclassroom mais j'ai un soucie avec la fonction spl_autoload_register et ne la comprend pas trés bien.
Quand j'active mon script les erreurs afficher sont
et mon code est :
Warning: require(PersonnagesManager.php): failed to open stream: No such file or directory in C:\Users\Thibaut\PhpstormProjects\POO\projet1\page_jeux.php on line 5
Fatal error: require(): Failed opening required 'PersonnagesManager.php' (include_path='.;C:\php\pear') in C:\Users\Thibaut\PhpstormProjects\POO\projet1\page_jeux.php on line 5
function ChargerClasse($classname)
{
require $classname.'.php';
}
spl_autoload_register('ChargerClasse'); //charge automatiquement une classe
Pouvez m'aider s'il vous plait
1 réponse
Bonjour,
Quelle est l'arborescence de ton site ?
Dans quel répertoire se trouvent tes class ?
Sont elles dans le même répertoire que le fichier qui les inclus ou dans un autre ?
Dans ta fonction tu dois préciser le chemin dans lequel les class se trouvent (en partant de la racine du site)
regardes les exemples de la doc :
https://www.php.net/manual/fr/function.spl-autoload-register.php
Quelle est l'arborescence de ton site ?
Dans quel répertoire se trouvent tes class ?
Sont elles dans le même répertoire que le fichier qui les inclus ou dans un autre ?
Dans ta fonction tu dois préciser le chemin dans lequel les class se trouvent (en partant de la racine du site)
regardes les exemples de la doc :
https://www.php.net/manual/fr/function.spl-autoload-register.php
// function __autoload($class) {
// include 'classes/' . $class . '.class.php';
// }
function my_autoloader($class) {
include 'classes/' . $class . '.class.php';
}
spl_autoload_register('my_autoloader');
Merci je vais tester ça ^^