Plugins 将外部库加载到ExpressionEngine插件

Plugins 将外部库加载到ExpressionEngine插件,plugins,expressionengine,Plugins,Expressionengine,我正在尝试将外部库加载到ExpressionEngine插件中,但得到: 消息:未定义的属性:检测器::$EE 在插件本身中,我有: public function __construct() { $this->EE->load->library('detector'); $this->EE =& get_instance(); } 我的文件夹设置如下: 检测器 -图书馆 --Detector.php -pi.detector.php 我做错了什

我正在尝试将外部库加载到ExpressionEngine插件中,但得到:

消息:未定义的属性:检测器::$EE

在插件本身中,我有:

public function __construct()
{
    $this->EE->load->library('detector');
    $this->EE =& get_instance();
}
我的文件夹设置如下:

检测器
-图书馆
--Detector.php
-pi.detector.php

我做错了什么

经过加载库错误之后,我现在得到一个“undefined variable”错误,代码如下:

public function detector()
{
 return $ua->ua;
}

public function user_agent()
{
return $ua->ua;
}

这是如果我的模板中有{exp:detector:user\u agent}。如果I{exp:detector}我没有得到任何输出。

您应该像这样更改代码:

$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();

您应该像这样更改代码:

$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();

谢谢,这使错误消失了,但我现在在加载库时遇到了问题。根据以上所述,在尝试访问库创建的某个变量时,会出现“undefined variable”(未定义变量)错误。我尝试将加载程序更改为:$this->EE->load->library('libraries/detector');但这使我无法加载请求的类:detector。我刚刚编辑了前面的答案,添加了告诉EE库位置所需的代码。您不需要调用add_package_path()。只需使用load->library('lib_name'),并确保它位于加载项的
libraries
目录中(调用load时不需要指定
libraries/
部分)。这也是我在别处读到的Adrian,但我的加载项目录中有一个libraries目录。添加add_package_路径会给我相同的“undefined variable”错误:?“库创建的变量之一”是什么意思?也许你可以用新的信息来更新你的问题,或者考虑开始一个新的问题?谢谢,这使错误消失了,但是我现在在实际加载库方面遇到了麻烦。根据以上所述,在尝试访问库创建的某个变量时,会出现“undefined variable”(未定义变量)错误。我尝试将加载程序更改为:$this->EE->load->library('libraries/detector');但这使我无法加载请求的类:detector。我刚刚编辑了前面的答案,添加了告诉EE库位置所需的代码。您不需要调用add_package_path()。只需使用load->library('lib_name'),并确保它位于加载项的
libraries
目录中(调用load时不需要指定
libraries/
部分)。这也是我在别处读到的Adrian,但我的加载项目录中有一个libraries目录。添加add_package_路径会给我相同的“undefined variable”错误:?“库创建的变量之一”是什么意思?也许你可以用新的信息来更新你的问题,或者考虑开始一个新的问题?最好是创建一个新的问题,因为你的第二个问题与你的第一个问题无关(如果我在下面的答案不是你原来的问题的解决方案)。但是,要回答您的问题,您需要在构造函数中使用
$this->return_data=“
:这会产生相同的结果。我将开始一个新问题。这里是:最好创建一个新问题,因为你的第二个问题与你的第一个问题无关(如果我回答下面的问题,它不会解决你原来的问题)。但是,要回答您的问题,您需要在构造函数中使用
$this->return_data=“
:这会产生相同的结果。我将开始一个新的问题。这里是: