IはCodeIgniterのHMVCは、get_instanceを使用することはできないが、適切
/application/core/CMS_Controller.php
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
require APPPATH."third_party/MX/Controller.php";
class CMS_Controller extends MX_Controller {
public function __construct() {
parent::__construct();
}
public function show_something() {
echo "something shown";
}
}
Iは、モジュール内の別のコントローラを持っている/アプリケーションにおけるコントローラ/コアを有するMX_Controllerを拡張しますCMS_Controller
から延長(/modules/my_module/controllers/controller.php)/modules/my_module/controllers/controller.php/modules/my_module/views/view.php
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
$ci =& get_instance();
echo $ci->show_something();
?>
そして:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Controller extends CMS_Controller {
public function index() {
$this->load->view('view');
}
}
そして、view.php(/modules/my_module/views/view.php)で、私はこれを行います私はこのエラーを取得する:
Fatal error: Call to undefined method CI::show_something() in /home/gofrendi/public_html/No-CMS/modules/my_module/views/view.php on line 3
それはなり作品、私はMX_Controllerを使用し、代わりにCI_Controllerを使用していない場合: /アプリケーション/ COR E/CMS_Controller.php
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
//require APPPATH."third_party/MX/Controller.php";
class CMS_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function show_something() {
echo "something shown";
}
}
誰もがここで間違っているのか知っていますか?私にとって
感謝を行いますMX_Controllerへの参照を取得するためにCI_Controller への参照を取得する 。スクリプトがビューに表示されます。私はその見解が$ thisを認識できるとは思わない。今はまだ何か別のものがあります。しかし、私は結果を後で確かめるでしょう。 – goFrendiAsgard