切换多个文件的语句(例如,用于switch-case语句的插件系统)

时间:2016-02-29 13:02:46

标签: php plugins switch-statement

我想为动态切换语句创建类似插件系统的东西,如下例所示:

$command = $_POST['cmd'];
switch ($command) {

 include "./Ajax_Includer.php";

}

文件" Ajax_Includer"现在应该加载特定文件夹中的所有文件。这些文件都包含一个case语句。

这样做的好处应该是我可以添加尽可能多的case语句。通过使用特定的case语句来杀死或忽略该文件,也可以更轻松地删除case语句。

但我得到一个我无法使用的错误" Include"直接在开关内。有没有人知道解决方法或这是不可能的?

1 个答案:

答案 0 :(得分:1)

打破它:

switch ($command) {
    case 'your_first_case':
        $file = "./Ajax_Includer.php";
        break;

    default:
        $file = null;
        break;
}
if($file){
    include $file
}

虽然在switch中包含文件完全有效。

更新:如果您想要在包含的文件中使用“案例”,那么您将获得一个解析错误,因为switch()

  

期待案例(T_CASE)或默认(T_DEFAULT)或'}'