Bootstrap
Bootstrap是指在应用开始解析并处理接受请求之前,一个预先准备环境的过程。所有请求执行之前都会按照顺序逐个调用Bootstraop初始化_init*方法,Bootstrap类必须继承Star_Application_Bootstrap_Bootstrap。 见例子如下:
<?php
require "Star/Application/Bootstrap/Bootstrap.php";
class Bootstrap extends Star_Application_Bootstrap_Bootstrap
{
protected function _initLayout()
{
if ($request->isAjax() == true)
{
return ;
}
//启动布局
Star_Layout::startMvc(array(
"base_path" => APPLICATION_PATH . "/layouts",
"script_path" => "default",
));
}
protected function _initTheme()
{
//初始化主题 默认scripts
$this->view->setTheme("scripts");
}
protected function _initRoute()
{
//添加路由
}
protected function _initSession()
{
//初始化SESSION
}
protected function _initLog()
{
//初始化日志存放目录 默认存放application/logs
Star_Log::setLogFilePath($log_path);
}
protected function _initCsrfToken()
{
$user_agent = $this->request->getUserAgent();
$ip = $this->request->getIp();
$token = Star_Config::get("resources.csrf_token");
$arr_temp = array($user_agent, $ip, $token);
sort($arr_temp, SORT_STRING);
//初始化csrf_token值
$this->view->csrf_token = sha1(implode($arr_tep));
}
}
建议:引导工作必须在处理每一次请求之前都进行一遍,因此让该过程尽可能轻量化就异常重要,请尽可能地优化这一步骤。
当前内容版权归 starframework 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 starframework .