有没有使用 CakePHP 访问 bootstrap.php 文件中数据库的标准方法?
具体来说,我想将“putenv()”设置为存储在数据库中的时区。是否有另一种方法可以实现我应该使用的相同功能?
谢谢。
有没有使用 CakePHP 访问 bootstrap.php 文件中数据库的标准方法?
具体来说,我想将“putenv()”设置为存储在数据库中的时区。是否有另一种方法可以实现我应该使用的相同功能?
谢谢。
我认为在引导程序中访问数据库不是一个好主意。您不能使用模型,因为它们尚未初始化。我认为您可以使用 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
) 构造函数。