Le 21 novembre 2011 10:15, Dsls <[email protected]> a écrit :
>> Tu parles de $core->getBehaviors ? Il n'y a aucune restriction sur
>>
>> > cette classe...
>>
>> Étrange, car à l'exécution il me renvoyait dans mes buts en me disant
>> que la méthode n'existait pas ! Du coup je suis passé par une fonction
>> helper exécutée à chaque fois pour l'afficher sur une page côté
>> public. Si je codais ça côté template ($core->getBehaviours()) alors
>> j'avais une erreur.
>>
> C'était pas plutôt une histoire de visibilité de $core (vs $GLOBALS['core'])
> ?

Je ne pense pas parce que dans le code PHP (dans le cache), l'objet
$core était utilisé normalement.

Voilà le code que j'injectais :
                $code =
                        'echo \'<h3>'.__('Behaviours list').'</h3><ul>\';'."\n".
                        '$bl = $core->getBehaviours();'."\n".
                        'foreach ($bl as $b => $f) {'."\n".
                        '       echo \'<li>\'.$b.\' : \';'."\n".
                        '       if (is_array($f)) {'."\n".
                        '               echo \'<ul>\';'."\n".
                        '               foreach ($f as $fi) {'."\n".
                        '                       echo \'<li><code>\';'."\n".
                        '                       if (is_array($fi)) {'."\n".
                        '                               echo 
$fi[0].\'::\'.$fi[1].\'()\';'."\n".
                        '                       } else {'."\n".
                        '                               echo $fi.\'()\';'."\n".
                        '                       }'."\n".
                        '                       echo \'</code></li>\';'."\n".
                        '               }'."\n".
                        '               echo \'</ul>\';'."\n".
                        '       } else {'."\n".
                        '               echo $f.\'()\';'."\n".
                        '       }'."\n".
                        '       echo \'</li>\';'."\n".
                        '}'."\n".
                        'echo \'</ul>\';'."\n";
                return '<?php '.$code.' ?>';
Pour la balise {{tpl:SysInfoBehaviours}}
_______________________________________________
Dev mailing list
[email protected]
http://ml.dotclear.org/listinfo/dev

Répondre à