我有一个CI_Model
名为Xray
. 我有一个控制器类Pages
,它处理我在应用程序中的所有页面。这些页面之一称为worker.php
. 我通过 CLI执行worker.php
使用。Supervisord
我希望能够从 访问Xray
的函数worker.php
,但不能通过命令行(执行后我不会使用命令行worker.php
)。
我有一个CI_Model
名为Xray
. 我有一个控制器类Pages
,它处理我在应用程序中的所有页面。这些页面之一称为worker.php
. 我通过 CLI执行worker.php
使用。Supervisord
我希望能够从 访问Xray
的函数worker.php
,但不能通过命令行(执行后我不会使用命令行worker.php
)。
将 Xray 作为模型或库加载,以更合适的方式加载,并正常访问
class Pages extends CI_Controller {
function worker()
{
$this->load->library('Xray');
echo $this->xray->my_func();
}
}
以下是在外部加载的脚本中包含 CodeIgniter 功能所需的代码:
ob_start();
include('/path/to/your/index.php');
ob_end_clean();
$ci =& get_instance();
$ci->load->model('xray');
所以问题是没有CI
实例,因此什么都不会加载。
问题$this
是当前的null
。
我只是先调用父母的构造函数:
function __construct()
{
parent::__construct();
}
如果您检查parent
,您将看到class CI_Controller
并从那里function __contruct()
帮助您正确启动。
现在你$this
是一个对象,你可以做
$this->config->load()
或者$this->load->library('Xray');