(PECL runkit7 >= Unknown)
runkit7_method_redefine — Change dynamiquement le code de la méthode donnée
class_name
La classe dans laquelle redéfinir la méthode
method_name
Le nom de la méthode à redéfinir
argument_list
La liste des arguments séparés par des virgules pour la méthode redéfinie
code
Le nouveau code à évaluer lorsque method_name
est appelé
closure
Une closure qui définit la méthode.
flags
La méthode redéfinie peut être
RUNKIT7_ACC_PUBLIC
,
RUNKIT7_ACC_PROTECTED
ou
RUNKIT7_ACC_PRIVATE
optionnellement combiné via une opération bit à bit OU avec
RUNKIT7_ACC_STATIC
doc_comment
Le commentaire de documentation de la méthode.
return_type
Le type de retour de la méthode.
is_strict
Si la méthode se comporte comme si elle était déclarée dans un fichier avec strict_types=1
Exemple #1 Exemple de runkit7_method_redefine()
<?php
class Example {
function foo() {
return "foo!\n";
}
}
// créer un objet Example
$e = new Example();
// affiche Example::foo() (avant la redéfinition)
echo "Before: " . $e->foo();
// Redéfinit la méthode 'foo'
runkit7_method_redefine(
'Example',
'foo',
'',
'return "bar!\n";',
RUNKIT7_ACC_PUBLIC
);
// affiche Example::foo() (après la redéfinition)
echo "After: " . $e->foo();
?>
L'exemple ci-dessus va afficher :
Before: foo! After: bar!