dynamisches Laden von Modellen in CakePHP

logo cakephp

Wenn man in einem Controller den Zugriff auf ein nicht standardmäßig enthaltenes Modell benötigt, kann man dies auf verschiedene Arten einbinden. Im Folgendem vier verschiedene Möglichkeiten dies zu tun.

Controller::loadModel( 'Modelname' );

Diese Methode ruft intern ClassRegistry::init() auf, und speichert das fertige Objekt als Parameter des aufrufenden Controllers.

PHP Code
1

PHP Code
1

ClassRegistry::init( 'Modelname' );

hierbei instanziiert man direkt eine neues Objekt des entsprechenden Modells. Die Registry Klasse erstellt dabei das Objekt, und gibt dieses als Ergebnis zurück.

PHP Code
1

App:import( 'Modelname' );

Der Aufruf App::import entspricht einem require, und man muss selber für eine Instanz der Klasse sorgen.

PHP Code
1

Controller->Model->Submodel;

Wenn in der Definition des Modells eine Abhängigkeit zu einem anderen Modell angegeben ist, kann man über diese Verbindung direkt die benötigten Daten abfragen.

PHP Code
1

PHP Code
1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.