动态调用 PHP 函数
2022-08-30 18:16:53
有没有办法通过变量调用函数?
例如,我想调用函数 Login()。我可以这样做吗:
$varFunction = "Login"; //to call the function
我可以使用$varFunction吗?
有没有办法通过变量调用函数?
例如,我想调用函数 Login()。我可以这样做吗:
$varFunction = "Login"; //to call the function
我可以使用$varFunction吗?
是的,您可以:
$varFunction();
艺术
call_user_func($varFunction);
确保验证恶意输入$varFunction。
对于您的模块,请考虑如下(取决于您的实际需求):
abstract class ModuleBase {
public function main() {
echo 'main on base';
}
}
class ModuleA extends ModuleBase {
public function main() {
parent::main();
echo 'a';
}
}
class ModuleB extends ModuleBase {
public function main() {
parent::main();
echo 'b';
}
}
function runModuleMain(ModuleBase $module) {
$module->main();
}
然后使用正确的模块实例调用 runModuleMain()。
您可以使用...
$varFunction = "Login";
$varFunction();
...不言而喻,要确保变量是可信的。