2009-07-27 7 views
2

Existe-t-il une méthode standard d'accès à la base de données dans le fichier bootstrap.php avec CakePHP?Accéder à la base de données à partir de bootstrap.php dans CakePHP

Spécifiquement je veux mettre "putenv()" à un fuseau horaire qui est stocké dans la base de données. Y a-t-il une autre façon d'atteindre la même chose que je devrais utiliser à la place?

Merci.

+0

Je pense que database.php serait beaucoup plus utile pour cela. peut-être pas dans une option intégrée, mais pour l'amour de l'organisation. – helloandre

Répondre

2

Je ne pense pas que ce soit une bonne idée d'accéder à la base de données dans le bootstrap. Vous ne pouvez pas utiliser les modèles car ils n'ont pas encore été initialisés. Je pense que vous pouvez extraire les données de connexion et initialiser la connexion et exécuter des requêtes en utilisant PHP mysql_* mais c'est une chose moche.

Cependant, si vous avez besoin d'exécuter certaines actions chaque fois que vous accédez à votre application, je suggère de le placer dans le constructeur 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 de la classe extension vous aurez même pas de ne pas changer quoi que ce soit depuis PHP appellera automatiquement constructeur parent (AppController).

+0

Merci pour votre réponse. Fonctionne très bien. –

Questions connexes