par
devlop78 » 20 mars 2011, 03:04
Nickel :
$askOrigine = debug_backtrace();
$askOrigine = $askOrigine[1]['object'];
if (!$askOrigine instanceOf EC_Global_Collection) trigger_error('Call to protected method ' . __METHOD__ . '()', E_USER_ERROR);
Je peux ainsi simuler la méthode protégée (mais qui doit pourtant rester accessible depuis des méthodes de tout objet de la classe EC_Global_Collection).
J'ai même réussi à l'utiliser afin d'économiser un argument. Le fait de savoir d'où vient la demande de la méthode est vraiment bien. Cela m'a permis de construire deux classes Collection et Item en 'arbre' infini avec gestion de parenté. Ainsi ces deux utilisations m'ont permis de définir automatiquement le père d'un item (par exemple $papa->addChild($enfant), $enfant renverra pour getParent() l'objet $papa), avec en luxe l'impossibilité d'ajouter un objet qui serait déjà père ou grand père (ou grand grand père etc) dans un objet (ce qui évite entre autres les boucles infinies d'objet....).
Donc grand merci à toi pour m'avoir aider à finaliser ces deux classes complétement inutiles dans mon application (un simple objet collection me suffisait ^^, mais ce serait le grand luxe pour la gestion des items du menu héhé la classe ->getParent() ^^).
A+
Nickel :
$askOrigine = debug_backtrace();
$askOrigine = $askOrigine[1]['object'];
if (!$askOrigine instanceOf EC_Global_Collection) trigger_error('Call to protected method ' . __METHOD__ . '()', E_USER_ERROR);
Je peux ainsi simuler la méthode protégée (mais qui doit pourtant rester accessible depuis des méthodes de tout objet de la classe EC_Global_Collection).
J'ai même réussi à l'utiliser afin d'économiser un argument. Le fait de savoir d'où vient la demande de la méthode est vraiment bien. Cela m'a permis de construire deux classes Collection et Item en 'arbre' infini avec gestion de parenté. Ainsi ces deux utilisations m'ont permis de définir automatiquement le père d'un item (par exemple $papa->addChild($enfant), $enfant renverra pour getParent() l'objet $papa), avec en luxe l'impossibilité d'ajouter un objet qui serait déjà père ou grand père (ou grand grand père etc) dans un objet (ce qui évite entre autres les boucles infinies d'objet....).
Donc grand merci à toi pour m'avoir aider à finaliser ces deux classes complétement inutiles dans mon application (un simple objet collection me suffisait ^^, mais ce serait le grand luxe pour la gestion des items du menu héhé la classe ->getParent() ^^).
A+