私はすべての髪を引っ張っています...すべてのスレッドを検索してきましたが、誰かが私に実際の例を教えていただければ幸いです。
ドキュメントによると:https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc 別のモジュールを呼び出すことができます->コントローラーを使用して
modules::run('module/controller/method', $params);
modules::load('module/controller/method', $params);
or
$this->load->module('module/controller');
$this->controller->method();
問題:「method()」が呼び出されません。コントローラーのコンストラクターのみが毎回呼び出されます。
目的は、自己完結型の MVC をモジュールとして構築し、他のコントローラーで使用することです。しかし、私が何をしても、コンストラクターを呼び出すだけで、メソッドは呼び出されません。数週間前に HMVC を使い始めましたが、ドキュメントで何か見落としていましたか、それともこのように使用されていませんか?
セットアップは次のとおりです。
modules
|--ztest1
| |--controller/c1.php
|--ztest2
|--controller/c2.php
class C1 extends MX_Controller {
function __construct() {
parent::__construct();
}
function index () {
Modules::run('ztest2/c2/testc2/');
//Modules::load('ztest2/c2/testc2/');
//$this->load->module('ztest2/c2/testc2/');
//$this->c2->testc2();
}
}
class C2 extends MX_Controller {
function __construct() {
parent::__construct();
echo __FILE__." // ".__CLASS__."/".__FUNCTION__.PHP_EOL;
}
function testc2(){
echo __FILE__." // ".__CLASS__."/".__FUNCTION__.PHP_EOL;
}
}
output:
/app/modules/ztest2/controllers/c2.php // C2/__construct
追記: スクリプトにエラーや警告はありません。コンストラクターを静かに呼び出すだけです。