我正在尝试将外部库加载到ExpressionEngine插件中,但我得到了:
消息:未定义属性:Detector :: $ EE
在插件本身我有:
public function __construct()
{
$this->EE->load->library('detector');
$this->EE =& get_instance();
}
我的文件夹设置如下:
检测器
-libraries
--Detector.php
-pi.detector.php
我做错了什么?
移出加载库错误后,我现在使用以下代码收到“未定义变量”错误:
public function detector()
{
return $ua->ua;
}
public function user_agent()
{
return $ua->ua;
}
如果我的模板中有{exp:detector:user_agent},那就是这样。如果我{exp:detector}我没有输出。
答案 0 :(得分:7)
你应该改变你的代码:
$this->EE =& get_instance();
$this->EE->load->add_package_path(PATH_THIRD.'/detector');
$this->EE->load->library('detector');
首先初始化$this->EE
变量,然后可以加载库。所以在这种情况下它将是
$this->EE->detector->user_agent();