Constructeur de classe plx:admin et plx:motor
je-evrard
Member
Bonjour,
Je viens de m'apercevoir de quelquechose d'assez important dans le moteur de pluxml.
la classe plxAdmin étend la classe plxMotor jusque la pas de soucis.
Les deux classes possèdent la meme nom de fonction de construction
La classe plxAdmin fait ceci :
Et c'est la qu'il y a un truc bizarre. En effet si vous mettez un echo par exemple dans la fonction constructeur du motor vous verrez qu'il est appelé deux fois au lieu de une.
En commentant la ligne on voit que la fonction contruct du moteur est appelé une fois
En attente de vos commentaires. Attention il y a peut-être une raison et je ne suis pas spécialiste des classes étendues.
a+
jéjé
Je viens de m'apercevoir de quelquechose d'assez important dans le moteur de pluxml.
la classe plxAdmin étend la classe plxMotor jusque la pas de soucis.
[== Indéfini ==]
class plxAdmin extends plxMotor {
}
Les deux classes possèdent la meme nom de fonction de construction
[== Indéfini ==]
protected function __construct($filename) {
}
La classe plxAdmin fait ceci :
[== Indéfini ==]
protected function __construct($filename) {
parent::__construct($filename);
# Hook plugins
eval($this->plxPlugins->callHook('plxAdminConstruct'));
}
Et c'est la qu'il y a un truc bizarre. En effet si vous mettez un echo par exemple dans la fonction constructeur du motor vous verrez qu'il est appelé deux fois au lieu de une.
En commentant la ligne on voit que la fonction contruct du moteur est appelé une fois
[== Indéfini ==]
// dans plxAdmin
protected function __construct($filename) {
// parent::__construct($filename);
# Hook plugins
eval($this->plxPlugins->callHook('plxAdminConstruct'));
}
En attente de vos commentaires. Attention il y a peut-être une raison et je ne suis pas spécialiste des classes étendues.
a+
jéjé
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je pense qu'il faudrait donc commenter la ligne dans l'admin... Si je suis pas claire dites le.
dans l'espace d'administration c'est plxAdmin qui est construit et dans les pages publiques c'est plxMotor donc pas de problème de mon côté.
tu as peut-être une extension qui appel plxMotor depuis l'espace d'administration ?
je pense que tu peux utiliser les "hook" pour savoir où tu es. si "AdminPrepend" est appelé, tu es sur une page de l'espace d'administration. et si "Index" est appelé, c'est une page publique
Voici une astuce pour pouvoir instancier le moteur sans se soucier de l'endroit où on est (site public = plxMotor et administration = plxAdmin) :