カスタム関数名

WBOY
WBOYオリジナル
2016-06-23 13:52:30987ブラウズ

質問したいのですが、PHP はカスタム関数を宣言するときに変数の形式で関数名をサポートしていますか?
8fa0f9d9fa26620e24db7e9ec0981b76 を使用してみました。


ディスカッション(解決策)への返信
あなたがこうなってもダメだよ

私がこうなっても大丈夫だよ
function test() {}$a = 'test';$a();


あなたがあんなふうになってもダメ

私は大丈夫このようになりますか?理由

関数が宣言されたとき、関数名は実際に呼び出されて初めてわかります。


クラスを通じて (__call) を実装できます



1. eval を使用します
function test() {}$a = 'test';$a();


2. クラス
$a = 'test';eval("function $a(){ echo 'function name is:'.__FUNCTION__;}");test();
のマジックメソッド __call を使用します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。