ホームページ >バックエンド開発 >PHPチュートリアル >カスタム関数名の解決策
カスタム関数名
聞きたいのですが、PHP はカスタム関数を宣言するときに変数の形式での関数名をサポートしていますか?
5065cf8af6abbcd840437b846b14347b
プロンプトエラーを使用してみました。
------解決策---------
クラス (__call) を通じて実現できます
------解決策--------------------------------
1. eval
<br />$a = 'test';<br />eval("function $a(){ echo 'function name is:'.__FUNCTION__;}");<br />test();<br />
<br />class foo{<br /> public function __call($name, $param){<br /> if($name=='test'){<br /> echo 'test';<br /> }else{<br /> echo 'name not exists';<br /> }<br /> }<br />}<br /><br />$obj = new foo();<br />$a = 'test';<br />$obj->$a();<br />