Helper不包括子文件夹路径Codeigniter

时间:2015-06-17 14:20:43

标签: codeigniter

在我的帮助函数上,如果控制器在父目录中,我可以从子文件夹加载控制器

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);
}

1 个答案:

答案 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
}