我已经下载了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。
是否缺少配置?