Surmonter les limitations de redéfinition des fonctions de PHP
En PHP, définir plusieurs fois une fonction avec le même nom est un non-non. Tenter de le faire, comme le montre l'extrait de code fourni, entraînera une erreur redoutée "Impossible de redéclarer".
<br>function this($a){<br> return $a ;<br>}</p> <p>// Erreur : "Impossible de redéclarer foo()"<br>fonctionner ceci($a, $b){<br> return $a * $b;<br>}<br>
Cependant, il y a un joyau caché dans la ceinture d'outils PHP : l'extension runkit. Il vous offre la flexibilité de redéfinir les fonctions de manière dynamique.
runkit_function_rename()
Si vous souhaitez simplement modifier le nom d'une fonction, vous pouvez utiliser runkit_function_rename() :
<code class="php">// Rename 'this' to 'that' runkit_function_rename('this', 'that');</code>
runkit_function_redefine()
Pour une redéfinition plus complète, runkit_function_redefine() vient à la rescousse. Il vous permet de modifier l'intégralité du corps de la fonction.
<code class="php">// Redefine 'this' to return 'New and Improved' runkit_function_redefine('this', 'return "New and Improved";');</code>
Ainsi, alors que PHP résiste nativement à la redéfinition des fonctions, runkit ouvre des possibilités illimitées, vous permettant d'adapter vos fonctions à vos caprices.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!