在我的帮助函数上,如果控制器在父目录中,我可以从子文件夹加载控制器
load_controller('subfolder/class');
问题
如果我有一个位于子文件夹中的控制器并想使用此
load_controller('subfolder/class');
如果我从子目录中的控制器中调用它们,我就无法选择其他控制器
我怎样才能做到这一点,它将获取我所在的控制器和控制器子文件夹的控制器。
辅助
<?php
function load_controller($controller, $method = 'index', $params = '') {
// From Parent Folder "Controllers"
require_once (APPPATH . 'controllers/' . $controller . '.php');
$controllername = basename($controller);
$controllername = new $controllername();
return $controllername->$method($params);
}
答案 0 :(得分:1)
目前您的load_controller如下:
load_controller($controller, $method , $params){}
它只接受3个变量,但是您尝试发送位置信息(&#39;子文件夹/类&#39;),这些信息在控制器中没有考虑。
为了解决这个问题,你需要添加另一个这样的参数:
function load_controller($location, $controller, $method , $params){
require_once (APPPATH .$location. 'controllers/' . $controller . '.php'); //and apply it to the path
}