PHP では、単に書き換えるだけでは関数を再定義できません。これを実行しようとすると、以下に示すようにエラーが発生します:
<code class="php">function this($a){ return $a; } function this($a, $b){ //New this function return $a * $b; }</code>
Error:
Fatal error: Cannot redeclare foo()
PHP で関数を再定義または名前変更するには、runkit 拡張機能を使用できます。 。 runkit_function_rename() や runkit_function_redefine() などの関数が提供されます。
たとえば、this 関数の名前を別の関数に変更するには、runkit_function_rename() を使用できます。
<code class="php">runkit_function_rename('this', 'another');</code>
this を再定義するには2 つの引数を取り、それらを乗算する関数の場合は、 runkit_function_redefine():
<code class="php">runkit_function_redefine('this', '$a, $b', '$a * $b');</code>を使用できます。
以上がPHP 関数を再定義して名前を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。