Accesso database da bootstrap.php in CakePHP
-
19-09-2019 - |
Domanda
Esiste un metodo standard di accesso al database nel file bootstrap.php con CakePHP?
In particolare voglio impostare "putenv ()" ad un fuso orario che è memorizzato nel database. C'è un altro modo per raggiungere la stessa cosa che dovrei usare, invece?
Grazie.
Soluzione
Non credo che sia una buona idea per accedere database in bootstrap. Non è possibile utilizzare i modelli, perché non sono ancora stati inizializzati. Penso che si potrebbe estrarre i dati di connessione e inizializzare il collegamento ed eseguire query utilizzando mysql_*
di PHP, ma questa è una cosa brutta.
Tuttavia, se avete bisogno di eseguire determinate azioni ogni volta che la vostra applicazione è accessibile Vorrei suggerire ponendolo in AppController
costruttore (funzione __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
}
}
Se non si dichiara il costruttore ad estendere classe non sarà nemmeno bisogno di cambiare nulla da PHP chiamerà automaticamente genitore costruttore (AppController
).