PHP中基于参数输入的函数名自动设置


Autosetting Function Names based on Parameter Input in PHP

我现在正在制作一个AJAX脚本。我有一个html文件,一个javascript文件和一个PHP文件。

JavaScript文件将有一个函数将参数request_name传递给URL。捕获请求的PHP脚本有一个switch语句,该语句根据request_name值调用不同的函数。函数名是request_name值,即如果$_REQUEST['request_name']是"test_function",那么switch语句调用test_function()。

由于参数名称值将与函数名称相同,如果该参数设置,是否有任何方法基本上只是让PHP调用request_name_value ?这似乎比使用switch语句更容易,特别是因为会有很多函数。

试试这个:

$func = "mynamespace_".$_REQUEST["request_name"];
if (function_exists($func)) {
    $func();
} else {
    header("Location: /index.html");
    exit;
}