解读Zend框架(六) Zend_Application配置

通常情况下,我们对于Zend框架的环境变量设置会在public文件夹下的.htaccess文件中定义,并且在index.php文件中将其实现,请看以下两段代码:

1. SetEnv APPLICATION_ENV development
1. $application = new Zend_Application(
2.     APPLICATION_ENV,
3.     APPLICATION_PATH . '/configs/application.ini'
4. );

我们在创建Zend_Application类实例的时候,定义了这个项目的运行环境,并且引入了Zend_Applicaiton的配置文件,下面仔细研究一下Minhlog配置文件中的部分定义:

01. [production]
02. # phpSetting
03. phpSettings.display_startup_errors = 0
04. phpSettings.display_errors = 0
05. phpSettings.date.timezone = "Asia/Shanghai"
06. phpSettings.magic_quotes_gpc = off
07. phpSettings.session.auto_start = 0
08.   
09. # include settiong
10. includePaths.library = APPLICATION_PATH "/../library"
11.   
12. # bootstrap setting
13. bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
14. bootstrap.class = "Bootstrap"
15.   
16. # resource settiong
17. pluginPaths.Minh_Resource = APPLICATION_PATH "/../library/Minh/Resource/"
18.   
19. # frontController setting
20. resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
21. resources.frontController.moduleControllerDirectoryName = "controllers"
22. resources.frontController.defaultModule = "frontend"
23. resources.frontController.env = APPLICATION_ENV
24. resources.frontController.plugins.common = "Minh_Controller_Plugin_Common"
25.   
26. # view setting
27. resources.view.params.frontend.scriptPath = APPLICATION_PATH "/modules/frontend/views/scripts/default/"
28. resources.view.params.frontend.helperPath = APPLICATION_PATH "/modules/frontend/views/helpers/"
29. resources.view.params.frontend.route = "" 
30. resources.view.params.backend.scriptPath = APPLICATION_PATH "/modules/backend/views/scripts/default/"
31. resources.view.params.backend.helperPath = APPLICATION_PATH "/modules/backend/views/helpers/"
32. resources.view.params.backend.route = "/backend"
33.   
34. # db setting
35. resources.db.adapter = "pdo_mysql"
36. resources.db.params.host = "localhost"
37. resources.db.params.username = "root"
38. resources.db.params.password = ""
39. resources.db.params.dbname = "minhlog"
40. resources.db.params.charset = UTF8
41. resources.db.params.dbPrefix = "mlog_"
42. resources.db.isDefaultTableAdapter = true
43.   
44. [staging : production]
45.   
46. [testing : production]
47. phpSettings.display_startup_errors = 1
48. phpSettings.display_errors = 1
49.   
50. [development : production]
51. phpSettings.display_startup_errors = 1
52. phpSettings.display_errors = 1

可以看到在实例化zend_application时,由于我们设定的APPLCATION_ENV是development,所以载入的配置文件是development段,[development : production]可以看作类似xml格式的结构。

1. <DEVELOPMENT>
2.   <PRODUCTION>
3.     ...
4.   </PRODUCTION>
5. </DEVELOPMENT>

而staging和testing区段的内容将不会被载入,这样可以很好的区分开发,测试,生产三个环境的不同服务器配置细节,例如生产环境中可能需要配置缓存,而开发环境则不需要缓存,等情况。

之后,我们可以通过扩展Zend_Application_Resource_ResourceAbstract类,实现自己的Resource定义,把每一个细节,如DB访问,Router路由定义,View视图的路径加载等作为一个独立的资源加载进来。我将在下一篇文章中介绍如何扩展并创建自己的Zend_Application资源,敬请关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值