Frage

Ich habe ein „admin“ Modul und ich möchte es „dynamische Controller“ dienen, das heißt ein Standardverhalten für Controller zu schaffen, die nicht wirklich existiert ( „virtuellen Controller“).

Ich habe einen leichten Messaging-Mechanismus für lose Kommunikation zwischen den Modulen erfunden. Ich möchte, es benutzen, so dass, wenn z.

?r=admin/users/index

angefordert wird, wird es die „virtuellen Controller“ „Usercontroller“ von AdminModule, das würde, die standardmäßig mit diesem Messaging-Mechanismus verwenden, um die realen Modul darüber benachrichtigen „nennen UsersModule“ kann es auf die Anfrage beantworten.

Ich dachte über dieses Verhalten in AdminModule Simulation :: init (), aber an diesem Punkt habe ich keine Möglichkeit zu entscheiden, ob die Aktion von einem echten Controller oder nicht bearbeitet werden, oder zumindest weiß ich nicht, wie man tun es.

Dies ist wegen der Art und Weise Yü funktioniert: von unten nach oben, die Steuerung der ist, der die Ansicht und die Anwendung Layout macht (oder den Moduls, wenn es vorhanden ist), zum Beispiel. Ich glaube nicht, das Modul auch nur ein Wort eine bestimmten Controller + Aktion zu sagen hat über den Umgang mit oder nicht.

Zur Erinnerung, ich bin auf der Suche nach einer Art CWebModule :: missingController ($ ControllerID, $ ActionID), wie CController :: missingAction ($ ActionID) oder Umarbeitung, dass zu simulieren.

Das wäre möglicherweise in CWebModule sein :: init () oder irgendwo, wo ich herausfinden kann,

  1. , ob der Controller tatsächlich vorhanden ist, wobei in diesem Fall ist es seine Aufgabe, sie zu behandeln
  2. die $ actionID und $ controllerID
  3. , ob die Modul $ controllerID vorhanden ist (ich habe es nicht falsch eingeben, in r = admin / users / Index "Benutzer" ist das eigentliche Modul, wie in der Anwendung config angegeben).
War es hilfreich?
scroll top