我不认为使用.ini或.xml文件是高流量项目的好主意,因为每个页面加载都会导致解析config.ini或.xml文件。(Zend Framework> Zend_Config)如何避免使用.ini或.xml配置?
有没有什么办法可以将.ini/.xml替换成普通的php数组作为配置? 现在PHP INI看起来像......
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
phpSettings.date.timezone = "Europe/London"
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = rob
resources.db.params.password = 123456
resources.db.params.dbname = zf-tutorial
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.view.doctype = "XHTML1_STRICT"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
我想是这样的......
<?php
$config = array(
'production' => array(
['phpSettings.display_startup_errors'] => 0,
['phpSettings.display_errors'] => 0,
),
);
这可能吗?我该怎么做,我该如何告诉应用程序使用我自己的Config.php?
谢谢你,对不起我的英文。
UPD:我认为将数组传递给Zend_Application构造函数是正确的方法?
“接下来,从缓存中加载它,而不是重新解析.ini文件。” - 我会将缓存的数据存储在诸如序列化文本之类的东西中,并且我应该每次都将其反序列化。这不是治愈。使用php数组是加速配置的唯一方法。是的,我将无法写入配置,但对我的情况没有影响。谢谢您的回答。 – Kirzilla 2010-02-28 11:53:51
不客气:-) ;;;如果你不需要写配置文件,那么,我认为将它存储在'.php'文件中确实很好:-) ;;;关于缓存和反序列化:它应该比解析'.ini' /'.xml'文件快得多:你将反序列化一个已经存在的对象,而不是从头开始重新创建它*(就像你在做当配置存储在'.php'文件中时)* – 2010-02-28 11:55:59
或者你可以使用某物。像Memcached;)这将不需要序列化,会吗? – 2010-02-28 14:57:34