yii, on 24 October 2009 - 09:56 AM, said:
Zu deiner Lösung
D.h. ich leite jeden Controller von einem "Vor-Controller" ab, den dann wiederrum von CController ableitet. Ich glaube, dass das Symfony - Framework genau soarbeitet, für den Fall, dass man Methoden deklarieren will die für alle Controller verfügbar sein sollen.
Ja so funktioniert das. In einem Projekt habe ich z.B. 2 Controller die vor dem eigentlichen Controller kommen. Ein Hauptcontroller mit dem ich $this->forceSuffix usw. machen kann und dann für bestimmte Bereiche (z.B. Admin-Panel) noch einen weiteren Controller mit dem ich dann automatisch auf https umleite und sowas halt.
Haupt-Controller -> Bereichs/Context-Controller -> Controller
yii, on 24 October 2009 - 09:56 AM, said:
Fehler
Den BaseController habe ich in
protected/controllers/BaseController.php definiert
Folgenden Fehler kriege ich nun zurück
Fatal error: Class 'BaseController' not found in E:\Workspace\blog2\protected\controllers\EngineController.php on line 3
Der BaseController muss in den components Ordner. Ich erstelle da immer einen extra Ordner "controllers" um mehr Struktur reinzubringen.
- protected
- components
- controllers
- BaseController.php
In der config müsstest du dann glaube ich noch einen import Eintrag für diesen Ordner hinzufügen (application.components.controllers.*).