Hola que tal?
Para introducir el mensaje diré que esto va sobre
XML y
PHP... así que si en lugar de postearlo aquí lo debía haber hecho en el foro de PHP... lo siento
Os comento mi duda:
Hasta ahora siempre que he querido configurar los parámetros de acceso a una base de datos (usuario, contraseña ...) lo he hecho dentro de algun script en PHP, de manera que de algun modo u otro cuando los necesitaba los recuperaba fácilmente...
Pero hoy me ha apetecido hacerlo (porque creo que es mejor que como lo hacía) en un fichero XML
config.xml como éste:
Código HTML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<dbconfig>
<dbms>mysql</dbms>
<host>localhost</host>
<username>root</username>
<password>mysql4root</password>
<database>club</database>
</dbconfig>
Para recuperar los valores de los parámetros hago lo siguiente en PHP:
Código PHP:
$dom = DOMDocument::load('config.xml');
$xpath = new DOMXPath($dom);
$dbms = $xpath->query('/dbconfig/dbms')->item(0)->nodeValue;
$host = $xpath->query('/dbconfig/host')->item(0)->nodeValue;
$username = $xpath->query('/dbconfig/username')->item(0)->nodeValue;
$password = $xpath->query('/dbconfig/password')->item(0)->nodeValue;
$database = $xpath->query('/dbconfig/database')->item(0)->nodeValue;
y a partir de ahí establezco la conexión.
Tambien me he dado cuenta de que puedo hacerlo así:
Código PHP:
$dom = DOMDocument::load('adodb.config.xml');
$dbms = $config->getElementsByTagName('dbms')->item(0)->nodeValue;
$host = $config->getElementsByTagName('host')->item(0)->nodeValue;
$username = $config->getElementsByTagName('username')->item(0)->nodeValue;
$password = $config->getElementsByTagName('password')->item(0)->nodeValue;
$database = $config->getElementsByTagName('database')->item(0)->nodeValue;
No acaba de convencerme mucho la forma en que lo hago y estoy convencido de que existe algun método más elegante para recuperar el valor del texto de los nodos...
Si alguien sabe como y le apetece escribir... le estaré bastante agradecido...
Muchas gracias por anticipado.