LibreDTE / libredte-lib-core

LibreDTE: Biblioteca PHP (Núcleo)
https://lib-core.docs.libredte.cl
GNU Affero General Public License v3.0
194 stars 157 forks source link

Corrige ErrorException Illegal offset type #60

Closed gbesoain closed 5 years ago

gbesoain commented 5 years ago

En PHP 7+

estebandelaf commented 5 years ago

¿Cuál es el caso donde falla?

Para el desarrollo y producción se usa PHP 7 y no hemos tenido ese problema.

¿Alguna versión específica de PHP 7? ¿Algún XML con el ejemplo que falla?

gbesoain commented 5 years ago

Pasa en el caso en que $xml->STATUS contiene espacios. Mi solución inicial fue cast a integer pero más adecuada sería remover espacios con trim($xml->STATUS)

Estoy probando localmente (windows) con XAMPP y PHP 7.2.3

La idea es asegurar que en cualquier eventualidad el $xml->STATUS sea un entero que sirva como index del array $error

gbesoain commented 5 years ago

Para este caso PHP entrega WARNING. Depende de la configuración de PHP si estos son desplegados e interrumpen la ejecución, en mi caso está configurado para detener la ejecución.

Si configuro php.ini para no reportar warnings (E_ALL ^ E_WARNING) la ejecución continua pero obviamente los errores no son registrados en Log, el XML de AEC enviado es el generado por LibreDTE

estebandelaf commented 5 years ago

Cast a int lo soluciona, se deja esa opción. Gracias :)