Erreur avec la fonction spl_autoload_register

Résolu
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

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
et mon code est :


function ChargerClasse($classname)
{
require $classname.'.php';
}
spl_autoload_register('ChargerClasse'); //charge automatiquement une classe



Pouvez m'aider s'il vous plait


1 réponse

jordane45 Messages postés 40051 Date d'inscription   Statut Modérateur Dernière intervention   4 761
 
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

// function __autoload($class) {
//	 include 'classes/' . $class . '.class.php';
// }
 
function my_autoloader($class) {
	include 'classes/' . $class . '.class.php';
}
 
spl_autoload_register('my_autoloader');
 

0
thibautB Messages postés 148 Statut Membre 1
 
ah ok je comprend mieux et elle son dans le même fichier.
Merci je vais tester ça ^^
0
thibautB Messages postés 148 Statut Membre 1
 
Solution trouver ma classe n'avait pas le même nom que mon fichier ^^"
0