CI 3扩展用户代理无法访问自动加载的模型


CI 3 extend user agent cannot access auto loaded models

我在应用程序/库/MY_User_agent.php中有以下文件。当我尝试访问自动加载模式时,我注意到了一个php

消息:Undefined property: Login::$Appconfig .

如果我从常规控制器或常规库访问它,它将起作用;但不知何故,在这个子类中,甚至是另一个扩展的库中,模型似乎不可用。如果我手动加载模型,它将起作用。

class MY_User_agent extends CI_User_agent 
{
    function __construct()
    {
        parent::__construct();
        $CI =& get_instance();
        $CI->Appconfig->get('test');
        $CI->load->library('Mobile_Detect');
        $this->detect = new Mobile_Detect();
    }

你不能这样做,因为你自动加载的类是在控制器之前实例化的(控制器实例是get_instance()返回的)。

无论如何,你不应该这样做,因为库不应该依赖于模型,也不应该依赖于应用程序的任何部分。