Aller au contenu

Probleme de dependance circulaire.


Sujets conseillés

Posté

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

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...