variables, y compris à l'intérieur des accolades dans une configuration Zend fichier ini sous Linux

StackOverflow https://stackoverflow.com/questions/2494303

Question

Je suis en train d'inclure une variable dans un cadre de fichier .ini en l'entourant avec des accolades, et Zend se plaint qu'il ne peut pas analyser correctement sous Linux. Il fonctionne correctement sous Windows, si:

welcome_message = Welcome, {0}.

Ceci est l'erreur qui est jeté sur 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

Nous sommes en mesure d'obtenir l'erreur d'aller sur Linux si nous entourons les accolades avec des guillemets, mais qui apparaît comme une solution étrange:

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

Y at-il une meilleure façon de résoudre ce problème pour toutes les plates-formes? Merci pour votre aide,

Dave

Était-ce utile?

La solution

Qu'en est-il d'avoir le message entier entre guillemets?

Un peu comme ceci:

welcome_message = "Welcome, {0}."


Citant la documentation parse_ini_file (qui Zend_Config_Ini peut utiliser) :

  

Note: Si une valeur dans le fichier ini   contient une non-alphanumérique   caractères dont il a besoin d'être enfermés dans   guillemets doubles (").

Et, aussi (Souligné par l'auteur) :

  

Note: Il y a des mots réservés qui   ne doit pas être utilisé comme clés pour ini   des dossiers.
Ceux-ci comprennent: null, yes, no,   true, false, on, off, none. valeurs
  null, des résultats d'no et false à "", oui   et de vrais résultats dans "1".
Caractères   {}|&~![()^" ne doit pas être utilisé   partout dans la clé et une   signification particulière dans la valeur .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top