captain_torche Posté 29 Août 2006 Posté 29 Août 2006 Je cherche à redéfinir certaines fonctions de PHP, mais je ne trouve pas comment le faire. J'ai bien vu un override_function, mais la version PHP n'est pas précisée (et PECL, c'est quoi ?) Pour finir, si jamais il était possible de redéfinir une fonction, serait-il possible de l'appeler elle-même au sein de la nouvelle définition, ou risque-ton une boucle infinie ? Ex : override function print_r($tab) {echo '<pre>';print_r($tab);echo '</pre>';}
xpatval Posté 29 Août 2006 Posté 29 Août 2006 Concernant PECL, c'est une librairie d'extension de PHP, pour le C. Pour le reste, ne connaissant pas ces possibilités, je vais m'amuser à tester, si j'arrive à installer/activer cette librairie... xpatval
Dash Posté 29 Août 2006 Posté 29 Août 2006 Installation avec WAMP : ajouter la ligne "extension=php_apd.dll" avec les autres extensions. Exemple de code : <?php$arg = array(1,2,3,4,5);print_r($arg );rename_function( 'print_r', 'print_r_bak'); function override_print_r($tab){ echo '<pre>'; print_r_bak($tab); #sinon boucle infinie echo '</pre>'; return;}override_function('print_r', '$tab', 'return override_print_r($tab);');print_r($arg );?> Le probleme de ce code c'est qu'il n'est pas transportable, car necessite un environnement particulier (PHP en mode cgi + librairie apd)
captain_torche Posté 29 Août 2006 Auteur Posté 29 Août 2006 Ok, merci beaucoup ! Je crois que je vais garder ma fonction print_t, alors
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant