Включение переменных в фигурные скобки в ini-файле Zend config в Linux - PullRequest
4 голосов
/ 22 марта 2010

Я пытаюсь включить переменную в настройку файла .ini, заключив ее в фигурные скобки, и Zend жалуется, что не может правильно проанализировать ее в Linux. Он работает правильно в Windows, хотя:

welcome_message = Welcome, {0}.

Это ошибка, которая выдается в Linux:

:  Uncaught exception 'Zend_Config_Exception' with message 'Error parsing /var/www/html/portal/application/configs/language/messages.ini on line 10
' in /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php:181
Stack trace:
0 /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php(201): Zend_Config_Ini->_parseIniFile('/var/www/html/p...')
1 /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php(125): Zend_Config_Ini->_loadIniFile('/var/www/html/p...')
2 /var/www/html/portal/library/Ingrain/Language/Base.php(49): Zend_Config_Ini->__construct('/var/www/html/p...', NULL)
3 /var/www/html/portal/library/Ingrain/Language/Base.php(23): Ingrain_Language_Base->setConfig('messages.ini', NULL, NULL)
4 /var/www/html/portal/library/Ingrain/Language/Messages.php(7): Ingrain_Language_Base->__construct('messages.ini', NULL, NULL, NULL)
5 /var/www/html/portal/library/Ingrain/Helper/Language.php(38): Ingrain_Language_Messages->__construct()
6 /usr/local/zend/share/ZendFramework/library/Zend/Contr in

Мы можем устранить ошибку в Linux, если заключим в скобки кавычки, но это кажется странным решением:

welcome_message = Welcome, "{"0"}".

Есть ли лучший способ решить эту проблему для всех платформ? Спасибо за вашу помощь,

Dave

1 Ответ

7 голосов
/ 22 марта 2010

А как насчет целого сообщения между кавычками?

Немного похоже на это:

welcome_message = "Welcome, {0}."


Цитируя документацию parse_ini_file (которую может использовать Zend_Config_Ini) :

Примечание: если значение в INI-файле содержит любые не алфавитно-цифровые символы должны быть заключены в двойные кавычки (").

А также (выделено мое) :

Примечание: есть зарезервированные слова, которые не должны использоваться в качестве ключей для INI файлы.
К ним относятся: null, yes, no, true, false, on, off, none.
Значения null, no и false приводит к "", да и истинные результаты в "1".
Персонажи {}|&~![()^" нельзя использовать где-нибудь в ключе и есть особое значение в значении .

...