8.114 Fonctions runkit
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Configuration à l'exécution . Constantes pré-définies . Runkit_Sandbox . Runkit_Sandbox_Parent . runkit_class_adopt . runkit_class_emancipate . runkit_constant_add . runkit_constant_redefine . runkit_constant_remove . runkit_function_add . runkit_function_copy . runkit_function_redefine . runkit_function_remove . runkit_function_rename . runkit_import . runkit_lint_file . runkit_lint . runkit_method_add . runkit_method_copy ->runkit_method_redefine . runkit_method_remove . runkit_method_rename . runkit_return_value_used . runkit_sandbox_output_handler . runkit_superglobals
|
8.114.22 runkit_method_redefine()Change dynamiquement le code de la méthode donnée[ Exemples avec runkit_method_redefine ] PECL
bool
runkit_method_redefine (
string
classname
,
string
methodname
,
string
args
,
string
code
,
int
flags
)
| Note | |
Cette fonction
ne peut être utilisée pour manipuler la méthode en cours d'utilisation (ou chaînée).
|
| Attention | |
Cette fonction est
EXPERIMENTALE
. Cela signifie que le comportement de
cette fonction, son nom et concrètement, TOUT ce qui est documenté ici peut
changer dans un futur proche, SANS PREAVIS! Soyez-en conscient, et utilisez
cette fonction à vos risques et périls.
|
-
classname
-
La classe dans laquelle la méthode sera redéfinie
-
methodname
-
Le nom de la méthode à redéfinir
-
args
-
Liste d'arguments séparés par des virgules pour la méthode redéfinie
-
code
-
Le nouveau code qui sera évalué lorsque
methodname
sera appelée
-
flags
-
La méthode redéfinie peut etre
RUNKIT_ACC_PUBLIC
,
RUNKIT_ACC_PROTECTED
ou
RUNKIT_ACC_PRIVATE
| Note | |
Ce paramètre est utilisé seulement en PHP 5, parce que, avant cette
version, toutes les méthodes étaient publiques.
|
Cette fonction retourne
TRUE
en cas de
succès,
FALSE
en cas d'échec.
| Exemple avec runkit_method_redefine |
<?php class Example { function foo() { return "foo!\n"; } }
// Crée un objet Example $e = new Example();
// Sortie Example::foo() (avant la redéfinition) echo "Avant : " . $e->foo();
// Redéfinition de la méthode 'foo' runkit_method_redefine( 'Example', 'foo', '', 'return "bar!\n";', RUNKIT_ACC_PUBLIC );
// Sortie Example::foo() (après la redéfinition) echo "Après : " . $e->foo(); ?>
|
|