我将控制器保存到我项目的App / Controller目录中相应的子目录,
离。
1.App/Controller/Common for header,footer,home,top_column,left column。
2.App/Controller/User for user,user-permisson。
等等等等。App / Controller目录保持不变,但每个控制器都有不同的子文件夹。
要加载这些控制器,我想我首先需要爆炸路径,删除子目录名,然后在App / Controller的目录中查找控制器,如果找到则实例化它。
以下是我工作的代码草案,以检查上述内容是否有效
<?php
$path = 'common/Left_Column';
$result = explode("/", $path);
array_shift($result);
$result = implode("/", $result);
echo $result; // Displays Left_Column
echo '<br>';
$file = 'App/Controller/' . $path . '.php';
echo $file; // Displays App/Controller/common/Left_Column.php
echo '<br>';
$class = $result;
echo $class; // Displays Left_Column
$controller = new $class(); // Error: Fatal error: Class 'Left_Column' not found in C:\xampp\htdocs\w3school\index.php on line 19
它正在工作,但我尝试实例化该类的最后一行我收到此错误“错误:致命错误:在第19行的C:\ xampp \ htdocs \ w3school \ index.php中找不到类'Left_Column'”。
为什么找不到类Left_Column?
修改:拼写为coulmn的列,现在已更改。
答案 0 :(得分:1)
也许它被称为Left_Co lu mn你有错字吗?
答案 1 :(得分:0)
您是否忘记在调用类构造函数之前添加此行?
require_once $file;