Php 从CodeIgniter HMVC中的另一个模块加载控制器

Php 从CodeIgniter HMVC中的另一个模块加载控制器,php,codeigniter,templates,hmvc,Php,Codeigniter,Templates,Hmvc,我在CodeIgniter HMVC中设置了两个模块。一个是模板,另一个是测试 下面是文件夹结构 模板 控制器 home.php --- --.php 意见 布局 admin.php main.php user.php home.php 测验 控制器 test.php 我在routes.php中添加了一个route变量,它将routes home.php作为模板的默认控制器。和自动加载的模板库 现在当我访问或。。它工作正常,但当我运行另一个模块测试时,它显示错误。我也尝试过echo模块::运行“

我在CodeIgniter HMVC中设置了两个模块。一个是模板,另一个是测试

下面是文件夹结构

模板 控制器 home.php --- --.php 意见 布局 admin.php main.php user.php home.php 测验 控制器 test.php 我在routes.php中添加了一个route变量,它将routes home.php作为模板的默认控制器。和自动加载的模板库

现在当我访问或。。它工作正常,但当我运行另一个模块测试时,它显示错误。我也尝试过echo模块::运行“templates/home/index”;但同样的问题。我在test.php中有流动代码

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Test extends MX_Controller {


    public function index()
    {
       $this->load->module('templates');
       $this->templates->index();

    }
}

似乎只有当控制器名称与模块名称匹配时,才可以在不指定控制器名称的情况下加载模块:

控制器可以作为其他控制器的类变量加载 使用$this->load->module'module/controller';或者干脆 $this->load->module'module';如果控制器名称与 模块名

尝试这样加载模块:


似乎只有当控制器名称与模块名称匹配时,才可以在不指定控制器名称的情况下加载模块:

控制器可以作为其他控制器的类变量加载 使用$this->load->module'module/controller';或者干脆 $this->load->module'module';如果控制器名称与 模块名

尝试这样加载模块:

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Template {

    private $template_data = array();
    private $headers = array();
    private $CI;

    public function __construct() {
        $this->CI =& get_instance();
        $this->CI->config->load('template');
    }

    function set($name, $value) {
        $this->template_data[$name] = $value;
    }

    function add_header($header) {
        array_push($this->headers, $header);
    }

    function load($template = '', $view = '', $view_data = array(), $return = FALSE) {
        $this->CI = & get_instance();
        $this->set('contents', $this->CI->load->view($view, $view_data, TRUE));
        $this->set('headers', implode('', $this->headers));
        return $this->CI->load->view($template, $this->template_data, $return);
    }

}

/* End of file Template.php */
/* Location: ./system/application/libraries/Template.php */
$this->load->module('templates/home');