我对一些适用于开发但不适用于生产的代码有一点问题。这很奇怪,因为所有其他代码都有效(或似乎有效)。
整个错误如下:
致命错误:在第 6 行的 /[snip]/application/modules/manage_plugins/models/Manage_plugins.php 中不在对象上下文中使用 $this 遇到 PHP 错误
严重性:错误
消息:不在对象上下文中使用 $this
文件名:models/Manage_plugins.php
行号:6
回溯:
从我能找到的其他类似问题来看,这是由于人们试图在静态上下文中使用“$this”——我不相信这对我来说是这种情况。
这是 manage_plugins 构造函数,第 6 行(错误行)是构造函数中的第一行:
class Manage_plugins extends CI_Model {
public function __construct() {
$this->mediator->attach("manage_load", function($name, $data) { $this->on_manage_load(); });
$this->load->model("automediator");
}
}
它由以下代码加载(并且从未显式调用):
$CI =& get_instance();
$CI->load->model("manage_plugins/manage_plugins");
有谁知道为什么会这样?