0
我正在研究Codeigniter项目,并且我已经看到从模型访问控制器。我想知道$ this-> controller是否与使用$ CI = & get_instance()相同或不同。我假设没有,但我更熟悉标准的返回函数的数据比这种方式。我没见过笨的例子这样做,所以我不认为这是一种访问控制的建议方式,但更多的是黑客:Codeigniter - 来自模型的访问控制器数据
class my_model extends CI_Model
{
public function __construct()
{
$this->errors = array();
parent::__construct();
$this->controller = get_instance();
}
public function somefunc()
{
// Accessing controller
$this->controller->session->set_userdata('foo', 'bar');
$this->controller->data = "fubar";
}
}
我认为这是反模式。控制器应该是控制逻辑的控制器。你可以通过从模型函数获取返回值来实现。 – Phiter
同意@phiter。但你仍然想访问然后尝试$ this-> controller =&get_instance();在这里找到详细的答案:http://stackoverflow.com/a/4740548/1578380 – Chintan7027