Frage

Gibt es eine Standardmethode zum Zugriff auf die Datenbank in der Datei Bootstrap.php mit CakePhp?

Insbesondere möchte ich "Putenv ()" auf eine Zeitzone setzen, die in der Datenbank gespeichert ist. Gibt es eine andere Möglichkeit, das Gleiche zu erreichen, was ich stattdessen verwenden sollte?

Vielen Dank.

War es hilfreich?

Lösung

Ich denke nicht, dass es eine gute Idee ist, in Bootstrap auf Datenbank zuzugreifen. Sie können keine Modelle verwenden, weil sie noch nicht initialisiert wurden. Ich denke, Sie könnten die Verbindungsdaten extrahieren und die Verbindung initialisieren und Abfragen mit PHP ausführen mysql_* Aber das ist eine hässliche Sache.

Wenn Sie jedoch jedes Mal, wenn auf Ihre App zugegriffen wird AppController Konstrukteur (__construct Funktion).

class AppController extends Controller {
    public function __construct() {
        // do your magic here

        // call parent constructor
        parent :: __constructor();
    }
}

class YourSpecificController extends AppController {
    public function __construct() {
         // call parent contructor (this) will cause your magic happen
         parent :: __constructor();

         // extra controller initialization instructions
    }
}

Wenn Sie den Konstruktor in der Erweiterung der Klasse nicht deklarieren, müssen Sie nichts ändern, da PHP automatisch übergeordnet ist (übergeordnet ist (AppController) Konstrukteur.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top