Ich ziehe mir alle meine Haare aus ... Habe jeden Thread durchsucht, würde mich freuen wenn mir jemand auf ein funktionierendes Beispiel hinweisen kann.codeigniter + HMVC Kreuzmodul Call Controller-> Methode
zum doc Accroding: https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc ich einem anderen Modul- nennen> Controller
modules::run('module/controller/method', $params);
modules::load('module/controller/method', $params);
or
$this->load->module('module/controller');
$this->controller->method();
Problem mit: die "Methode()" wird nie genannt. Nur der Konstruktor des Controllers wird jedes Mal aufgerufen.
Ziel ist es, eigenständige MVCs als Modul zu erstellen und von anderen Controllern zu verwenden. Aber egal was ich tue, es ruft nur den Konstruktor auf, die Methode wird nicht aufgerufen. Ich habe vor ein paar Wochen begonnen, HMVC zu benutzen, habe ich etwas im Doc übersehen oder es wird nicht so benutzt?
ist die Einrichtung:
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
zusätzliche Anmerkung: kein Fehler oder mit dem Skript zu warnen. Es ruft nur leise den Konstruktor an.
Danke für den Link! Ich habe folgende Meldung erhalten: Modul-Controller konnte nicht ausgeführt werden: ztest2/c2/testc2/ – Reed
Ihr Problem ist behoben? –
Es ist gelöst. Ich habe mein Ergebnis als Antwort unten angegeben. Ich habe deine Antwort akzeptiert, weil es mir geholfen hat, dieses Ding zu debuggen. Wusste nicht HMVC Wurf Fehler, nur zu loggen. Vielen Dank! – Reed