Code_iter(HMVC)核心类未在pre_contoller钩子中加载

时间:2018-03-29 10:44:47

标签: codeigniter

我已经下载了ci-hmvc-master并进行了设置。 现在我已经在pre_controller挂钩点创建了一个钩子。 在那个钩子里,我创建了一个打印当前类和方法的函数。 我的代码看起来像这样:

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

        class Authentication{
          protected $CI;

          public function __construct() {
            $this->CI = & get_instance();
          } 
          public function is_loggedin(){
            $class = $this->CI->router->fetch_class();
            echo $class;

          }
        }

此代码工作正常。我得到了班级名字。

现在我的问题是,当我在HMVC中使用相同的代码时,它是从普通的MVC(替换一些文件夹和文件)创建的,然后我得到了如下错误:

Call to a member function fetch_class() on null

意味着pre_controller挂钩在超级对象完全构造之前执行,因此get_instance()无法工作。

那么,为什么它在HMVC扩展中工作,我已经下载了它为什么 不适用于从MVC创建的简单HMVC。

是否缺少配置?

0 个答案:

没有答案