Pregunta

Estoy tratando de incluir una variable en una configuración de archivo .ini rodeándolo con llaves, y Zend se queja de que no puede analizar correctamente en Linux. Funciona correctamente en Windows, sin embargo:

welcome_message = Welcome, {0}.

Este es el error que se está lanzando en 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

Estamos en condiciones de obtener el error de irse en Linux si nos rodeamos de las llaves con citas, pero eso parece una solución extraña:

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

¿Hay una mejor manera de resolver este problema para todas las plataformas? Gracias por su ayuda,

David

¿Fue útil?

Solución

¿Qué hay de tener todo el mensaje entre comillas?

Un poco como esto:

welcome_message = "Welcome, {0}."


Citando la documentación de parse_ini_file (que podría utilizar Zend_Config_Ini)

  

Nota: Si un valor en el archivo ini   contiene cualquier no alfanumérico   personajes que tiene que estar incluido en   comillas dobles (").

Y, también (el énfasis es mío)

  

Nota: No son palabras reservadas, que   No debe ser utilizado como claves para ini   archivos.
Estos incluyen: null, yes, no,   true, false, on, off, none.
Valores   null, no y false resultados en "", sí   y los verdaderos resultados en "1".
Caracteres   {}|&~![()^" no debe utilizarse   en cualquier lugar de la llave y Tienes una   un significado especial en el valor .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top