Bonjour ,
Après de multiples essais , je désespère et viens demander de l'aide ici.
J'essaye de mettre en place un héritage et à vrai dire je croyais que j'avais reussi.
En tout cas sous Linux .....
J'ai une page index.php qui sert simplement à appeller une série de fonction contenue dans d'autres classes.
Pour cela je crée un objet PageBaseUser qui a pour objectif d'afficher la page d'un utilisateur normal (j'utilise toute une série de fonction de différentes classes pour un accés à la base SQL et l'affichage des différents blocs HTML).
Cette objet hérite de la classe PageBase, classe mère qui rassemble les fonctions communes à PageBaseUser et PageBaseRegister (la page des personnes enregistrés sur le site).
Toutes les classes (PageBase,PageBaseUser,BaseDD, sont écrites dans les pages .php correspondantes), par fainéantise , j'ai donc voulu utiliser la fonction __autoload dans la classe mère (PageBase.php) , qui chargera chacun des pages php dès que je crée l'objet correspondant... et j'ai mis cette auto_load dans la classe mère... comme ça à chaque fois que les filles instancie un objet qu'elle ne connaisse pas elle vont directement demandé à l'auto_load hérité.
Cette configuration fonctionne parfaitement sous Linux...
Mais elle ne marche pas sous Windows (ni sur un autre serveur linux distant chez OVH).
Voila le message d'erreur qu'Apache me retourne :
Fatal error: Cannot instantiate non-existent class: pagebaseuser in c:\program files\easyphp1-7\www\dossier\index.php on line 7
Il me parle d'une classe pagebaseuser , alors qu'à la ligne indiqué j'ai ça :
$PBU = new PageBaseUser("Djoolai- Accueil");
Je me suis donc dit que Windows devait avoir du mal avec les Majuscules.??? j'ai donc remplacé toutes les majuscules des classes (et des noms de fichier) par des minuscules. Sans succés.
Je ne vois pas du tout ou est le problème en vérité....
Est ce que quelqu'un à une idée?
Merci d'avance.