destroyedlolo Posté 6 Juillet 2008 Posté 6 Juillet 2008 Bonjour, J'ai plusieurs class qui sont definies chacune dans un fichier different, ce qui donne niveau code : CODE <?php/* Page.inc */ require_once('Albumine/lst_webobj.inc'); require_once('Albumine/encart.inc'); class page extends lst_webobj { [...] function charge( $dir=false ){ [...] $c = new encart($id, $this); $this->ajt_obj($c); [...] } } ?> et CODE <?php/* encart.inc */ require_once('Albumine/page.inc'); class encart extends page { [...] } Comme on peut le voir, encart est une classe qui herite de page mais page contient une fonction qui permet de charger des sous-objets qui peuvent etre de type encart. Bref, le probleme est que le require_once('Albumine/encart.inc'); de page.inc echoue car il me dit que la class page n'existe pas (normale, elle est definie par la suite). En C++, je rajouterai simplement un class page; au debut de encart.inc mais ca ne fonctionne pas en PHP. Des idees ? Bye Laurent
rdd Posté 7 Juillet 2008 Posté 7 Juillet 2008 Salut, Si tu es en PHP5, tu as la fonction __autoload qui te permet de faire exactement ce que tu veux faire. En PHP 5, ce n'est plus nécessaire. Vous pouvez définir la fonction __autoload() qui va automatiquement être appelée si une classe n'est pas encore définie au moment de son utilisation. Grâce à elle, vous avez une dernière chance pour inclure une définition de classe, avant que PHP ne déclare une erreur.
destroyedlolo Posté 12 Juillet 2008 Auteur Posté 12 Juillet 2008 Merci rdd, ca fonctionne tres bien. Bye Lolo
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant