8.10 Fonctions Classkit
8 Référence des fonctions
Manuel PHP
. Introduction . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . classkit_import . classkit_method_add . classkit_method_copy ->classkit_method_redefine . classkit_method_remove . classkit_method_rename
|
8.10.9 classkit_method_redefine()Change dynamiquement le code de la méthode donnée[ Exemples avec classkit_method_redefine ] CVS uniquement
bool
classkit_method_redefine (
string
classname
,
string
methodname
,
string
args
,
string
code
,
int
flags
)
Note |
Cette fonction ne peut
pas être utilisée pour manipuler la méthode en cours (ou liée) d'exécution.
|
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 est redéfinie
-
methodname
-
Le nom de la méthode à redéfinir
-
args
-
Liste d'arguments séparés par une virgule pour la méthode redéfinie
-
code
-
Le nouveau code à évaluer lorsque
methodname
est appelé
-
flags
-
La méthode redéfinie peut être
CLASSKIT_ACC_PUBLIC
,
CLASSKIT_ACC_PROTECTED
ou
CLASSKIT_ACC_PRIVATE
Note |
Ce paramètre est utilisé depuis PHP 5, car avant cette version, toutes les
méthodes sont publiques.
|
Cette fonction retourne
TRUE
en cas de
succès,
FALSE
en cas d'échec.
Exemple avec classkit_method_redefine |
<?php class Example { function foo() { return "foo!\n"; } }
// création d'un objet Example $e = new Example();
// affichage Example::foo() (avant la redéfinission) echo "Avant : " . $e->foo();
// Redéfinition de la méthode 'foo' classkit_method_redefine( 'Example', 'foo', '', 'return "bar!\n";', CLASSKIT_ACC_PUBLIC );
// affichage de Example::foo() (après la redéfinission) echo "Après : " . $e->foo(); ?>
|
|