(PECL runkit7 >= Unknown)
runkit7_function_redefine — Remplace une définition de fonction par une nouvelle implémentation
$function_name,$argument_list,$code,$return_by_reference = null,$doc_comment = null,$return_type = ?,$is_strict = ?$function_name,$closure,$doc_comment = null,$return_type = ?,$is_strict = ?Note: 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_overridedans le fichier php.ini du système entier.
function_nameLe nom de la fonction à redéfinir
argument_listLa nouvelle liste d'arguments à accepter par la fonction
codeLe code de la nouvelle implémentation
closureUne closure qui définit la fonction
return_by_referenceSi la fonction doit retourner par référence
doc_commentLe commentaire de documentation de la fonction
return_typeLe type de retour de la fonction
is_strict
Si la fonction se comporte comme si elle était déclarée dans un fichier avec strict_types=1
Exemple #1 Un exemple de runkit7_function_redefine()
<?php
function testme() {
echo "Original Testme Implementation\n";
}
testme();
runkit7_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>L'exemple ci-dessus va afficher :
Original Testme Implementation New Testme Implementation