我有一个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');