2

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

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

谢谢。

4

1 回答 1

2

我认为在引导程序中访问数据库不是一个好主意。您不能使用模型,因为它们尚未初始化。我认为您可以使用 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) 构造函数。

于 2009-07-27T09:12:52.677 回答