我不認爲使用.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