(PECL runkit >= 0.7.0)
runkit_function_redefine — Remplace une définition de fonction avec une nouvelle implémentation
$funcname
, string $arglist
, string $code
[, bool $return_by_reference
= NULL
[, string $doc_comment
= NULL
]] ) : bool$funcname
, Closure $closure
[, string $doc_comment
= NULL
] ) : boolNote: Par défaut, seulement les fonctions définies par l'utilisateur peuvent être supprimées, renommées ou modifiées. Afin de surcharger des fonctions internes, vous devez activer la configuration runkit.internal_override dans le fichier php.ini du système entier.
funcname
Nom de la fonction à redéfinir
arglist
Nouvelle liste d'arguments à être acceptés par la fonction
code
Nouvelle implémentation du code
closure
Une closure qui définit la fonction.
return_by_reference
Si la fonction devrait retourner par référence.
doc_comment
Le commentaire de documentation de la fonction.
Cette fonction retourne TRUE
en cas de succès ou FALSE
si une erreur survient.
Version | Description |
---|---|
runkit 1.0.4 |
Une syntaxe alternative s'attendant a une closure a été ajouté.
|
runkit 1.0.4 |
Les paramètres optionels return_by_reference et
doc_comment ont été ajouté.
|
Exemple #1 Exemple avec runkit_function_redefine()
<?php
function testme() {
echo "Implémentation de Testme originale\n";
}
testme();
runkit_function_redefine('testme','','echo "Nouvelle implémentation de Testme\n";');
testme();
?>
L'exemple ci-dessus va afficher :
Implémentation de Testme originale Nouvelle implémentation de Testme