从CakePHP中的bootstrap.php访问数据库

时间:2009-07-27 03:59:15

标签: php cakephp bootstrapping

是否有任何使用CakePHP访问bootstrap.php文件中数据库的标准方法?

具体来说,我想将“putenv()”设置为存储在数据库中的时区。是否有另一种方法来实现我应该使用的相同的东西?

感谢。

1 个答案:

答案 0 :(得分:2)

我不认为在bootstrap中访问数据库是个好主意。您无法使用模型,因为它们尚未初始化。我认为您可以使用PHP的mysql_*提取连接数据并初始化连接并运行查询,但这很难看。

但是,如果您每次访问应用时都需要运行某些操作,我建议将其放在AppController构造函数(__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
    }
}

如果你没有在扩展类中声明构造函数,你甚至不需要改变任何东西,因为PHP会自动调用parent(AppController)构造函数。