私はCodeigniterプロジェクトに取り組んでおり、モデルからコントローラにアクセスしています。 $ this =>コントローラが$ CI = & get_instance()を使用するのと同じか異なるかどうか疑問に思っています。私はいいえと思っていますが、私はこの方法よりも関数からデータを返す標準に慣れています。私はこれをやってCodeIgniterの例を見ていないので、私は、これは、コントローラにアクセスするための提案の方法であるとは思いませんが、ハックのより:これは本当にCIされていない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