XML en PHP o PHP en XML?

Hace unos días atrás, mientras configuraba Cu3er a través de el archivo XML que este trae, me surgió la duda si era posible automatizar este código con algunas funciones de PHP e inclusive, enlazarlo con WordPress para poder utilizar las funciones mismas de WP. Luegos de algunas horas de búsqueda y de intentos fallidos, supe que la respuesta a ambas preguntas era ¡Si se puede!.

Inicialmente, para que un archivo XML pueda utilizar PHP, el archivo mismo debe ser un archivo PHP. En este caso, el típico config.xml de Cu3ber pasó a ser wp_config_cu3er.php. Luego, al inicio del archivo, se debe colocar el header para que sea reconocido como un archivo XML:

header('Content-type:text/xml; charset=utf-8');

En mi caso, todo el archivo está en PHP y con echo´s he definido las etiquetas XML. No he probado hacerlo con funciones PHP seccionadas y dejar lo demás en texto. Finalmente, para que pueda trabajar con las funciones de WordPress, se debe incluir luego del header, una llamada al archivo de configuración inicial de WP:

include('wp-config.php');

Sin embargo, probé el archivo varias veces pero no lograba correrlo desde la carpeta de mi tema hasta que di con una solución bastante sencilla: lo coloqué en el directorio principal de WordPress y lo enlacé desde el Cu3er llamandolo a su ubicación por URL:

http://www.example.com/wp_config_cu3er.php

De esta manera, el app de Cu3er funciona de maravilla y no se siente ningún retraso por esta configuración. Recomiendo que antes de modificar el archivo con funciones, a este se le coloque el header de XML y la llamada al wp_config y se suba al directorio. Una vez allí, actualizar cada modificación y chequear el archivo corroborando que aparezcan todas las etiquetas que queremos sin errores. Cualquier minimo error que tenga el archivo, hará que Cu3er no funciones apropiadamente. Para la prueba del archivo, prefiero hacerlo en Mozilla Firefox ya que este define de mejor manera que función tiene algún error y si no aparece directamente en el navegador, en la opción de “codigo fuente” siempre aparece la linea que quebró al código.

Anuncios