是否有任何使用CakePHP访问bootstrap.php文件中数据库的标准方法?
具体来说,我想将“putenv()”设置为存储在数据库中的时区。是否有另一种方法来实现我应该使用的相同的东西?
感谢。
答案 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
)构造函数。