Accès à la base de données de bootstrap.php dans CakePHP
-
19-09-2019 - |
Question
Y at-il une méthode standard d'accès la base de données dans le fichier bootstrap.php avec CakePHP?
Plus précisément, je veux régler « putenv () » à un fuseau horaire qui est stocké dans la base de données. Y at-il une autre façon de réaliser la même chose que je devrais utiliser à la place?
Merci.
La solution
Je ne pense pas que ce soit une bonne idée d'accéder à la base de données en bootstrap. Vous ne pouvez pas utiliser des modèles parce qu'ils ont pas encore été initialisé. Je pense que vous pouvez extraire les données de connexion et initialiser la connexion et exécuter des requêtes en utilisant la mysql_*
de PHP, mais c'est une chose laide.
Toutefois, si vous devez exécuter certaines actions à chaque fois que votre application est accessible, je vous suggère de le placer dans le constructeur de AppController
(fonction __construct
).
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
}
}
Si vous ne déclarez constructeur dans l'extension de classe que vous aurez même pas de ne pas changer quoi que ce soit depuis PHP appellera automatiquement constructeur parent (AppController
).