Los archivos xml son muy útiles cuando se deben utilizar variables estándar en un proyecto, y cuyos valores podrían ser modificados dinámicamente. Para ello, explicaré con un sencillo ejemplo como utilizar dicho archivo y leerlo en la estructura del framework CakePHP. Utilizo Netbeans 6.8 para la realización de ejemplo.
Crearemos dos archivos, el .xml y el .php, en la carpeta config, dentro de la carpeta app, de nuestro proyecto CakePHP.
1- Crear el archivo .xml:
Primeramente, se crea un archivo con la extensión .xml para guardar los datos que luego consultaremos. Lo llamé ejemplo.xml, dentro de él pegamos el siguiente código.
<?xml version="1.0" encoding="utf-8"?>
<contenido>
<tag1>
<subtag1>Escriba aqui lo que desea consultar</subtag1>
</tag1>
</contenido>
Los nombres de los tags pueden ser modificados, sólo estan a modo de ejemplo, solamente se debe que tener en cuenta a la hora de nombrarlos en el archivo de consulta php.
2- Crear el archivo de consulta .php
Ahora crearemos el archivo con extensión .php para consultar los datos que tengamos guardados en el arhivo xml que acabamos de crear. El archivo de ejemplo se llama consultaxml.php y dentro de él copiamos el siguiente código.
<?php
App::import('Xml');
$xml_content =& new XML('../../app/config/ejemplo.xml');
$xml_array = $xml_content->toArray(false);
foreach ($xml_array as $xmlejem):
echo $xmlejem['tag1']['subtag1'];
endforeach;
?>
Lo que hace el código es lo siguiente: primero importa la clase Xml presente en el núcleo de CakePHP, luego guardamos en una variable el archivo el cual consultaremos, especificando la ruta correspondiente, es importante recalcar que la ruta de ejemplo es para cuando el archivo xml se encuentra en la carpeta config, siguiendo con la explicación, luego volcamos el contenido del .xml en una array, arreglo, para luego recorrerlo con la instrucción foreach, e imprimir mediante echo el contenido del elemento tag1 en la posición subtag1.
Cómo utilizar dicha utilidad?
Pues es muy sencillo, por ejemplo, supongamos que tenemos que especificar una ruta, ya sea en un enlace o en un parámetro AJAX, entonces mediante la instrucción require, especificamos la ruta de nuestra archivo de consulta php y recuperamos el contenido de nuestro .xml en la posición que especificamos en nuestro archivo .php de consulta
Ejemplo de utilización en parámetro url de AJAX:
url: "http://<?php require ("../config/consultaxml.php")?>/ejemploCake/vista,
Este ejemplo es cuando se utiliza este archivo en la especificación de la url en una petición AJAX, es decir dentro de un código javascript. En este caso dería la IP o el DNS del servidor donde se encuentra el proyecto.