Zugriff auf Datenbank von Bootstrap.php in CakePhp zugreifen
-
19-09-2019 - |
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.
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.