Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5096285
  • 博文数量: 921
  • 博客积分: 16037
  • 博客等级: 上将
  • 技术积分: 8469
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 02:08
文章分类

全部博文(921)

文章存档

2020年(1)

2019年(3)

2018年(3)

2017年(6)

2016年(47)

2015年(72)

2014年(25)

2013年(72)

2012年(125)

2011年(182)

2010年(42)

2009年(14)

2008年(85)

2007年(89)

2006年(155)

分类:

2010-07-23 14:27:36

ZendChina7月13日:在用 构建程序时,我们通常以 index.php 作为入口文件,并在其中创建 Zend_Application 对象及完成配置,例如读入名为 .ini 的配置文件。
然而每次请求都读入并解析 Application.ini 配置文件,显然也是不小的开销。

翻查 Zend_Application::_loadConfig() 函数,我们发现参数中允许传入数组,这就启发我们可以用简单的方法来避免每次都解析 配置。

在 index 中 :



// Application.ini.inc 缓存的配置文件
defined('CONFIG_INC')
||define('CONFIG_INC',
PROJECT_ROOT.'/library/Kbs/Config/Application.ini.inc');

// 如果没有缓存,我们就使用默认配置文件
$configFile=CONFIG_INC;
$noConfigCache=false;
if(false==
(CONFIG_INC)){
$configFile=PROJECT_ROOT.'/library/Kbs/Config/Application.ini';
$noConfigCache=true;
}

// Zend_Application
require_once'Zend/Application.php';

// 创建 application
$application=newZend_Application(
APPLICATION_ENV,
$configFile
);

// 如果缓存文件不存在,我们创建它
// 只用于 production 环境
if($noConfigCacheand('production'==APPLICATION_ENV)){
$configs='.
_EOL
.'return '
.
($application->getOptions(),true)._EOL
.'?>';
(CONFIG_INC,$configs);
}


?>

这样当应用程序检测到 Application.ini.inc 缓存文件存在时,就会自动载入,并读取经过解析的数组形式的配置。
阅读(1972) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~