在过程 PHP 中 __call(( 魔术方法还有其他选择吗?我想为未定义的函数提供回退。
我的用例是,我使用的是著名的程序内置CMS,我想在主题文件上使用常规函数,并从后台从类调用这些函数,所以我需要某种回退未定义的函数。
如果你使用的是 PHP 7,你可以将对未定义函数的调用包装在一个try {…} catch (Error $e) {…}
块中,并从那里处理回退。[1]
在 PHP7 之前,我想不出不涉及包装所有函数调用或使用function_exists
的东西。
我想您要搜索的内容可能是: $functionName(( 或 call_user_func($functionName( 请参阅: 如何从存储在变量中的字符串调用 PHP 函数(所以所有的功劳都归于:用户 knittl
(刚刚在谷歌上搜索类似的东西时看到了你的问题。所以我想我把答案放在这里给每个搜索同样的东西的人(。