De regreso

2007 Enero 25
by ixmael.arts

Después de un pequeño rato de luto, he regresado para seguir quejandome de todo lo que se me ocurra, pero mientras encuentro de que quejarme (el aumento a la gasolina, tortillas, cerveza, etc.) voy a poner un poco de XML para explicar como crear una página web modular (con PHP) leyendo el archivo XML de configuración de la página (esto será por partes).

Me baso en este artículo, con la diferencia de que yo voy a usar un archivo XML con el listado (y configuración) de las ‘páginas’ proporcionadas por la aplicación. Antes de empezar quiero exponer el por qué usare un archivo XML para la configuración en vez de las variables PHP. La primera vez que leí el artículo se me hizo raro, sobre todo porque apenas empezaba a conocer PHP (a estas alturas no sé mucho), depués de algunos intentos le empece a entender, pero el hecho de diseñar la presentación (hojas de estilo) separada de la lógica me hacía muy difícil encontra una manera ordenada de acomodar los datos de x página en una variable (mas bien arreglo) de PHP. A XML lo metí porque una vez que uno estudia acerca de este lenguaje se le hace fácil hacer diseñós de estructuras (no son los mejores porque a uno le falta experiencia) y a mí se me hizo mas intuitivo, aunque hay un poco de problemas porque tenemos que usar librerías para XML (yo usaré DOM), pero no hay problema si uno se anima un poco para esto.

Antes de empezar les quiero recomendar los siguientes programas para desarrollar esto: si no sabes instalar Apache con PHP usa XAMPP, lo que me gusta de este es que no necesita ser instalado (puede correr desde una memoria USB), ya viene configurado PHP (con lo necesario para este ejemplo), hasta MySQL (aunque preferíria PostgreSQL u Oracle) y la verdad tener un servidor web corriendo en tu máquina tiene su gasto de recursos y no siempre estoy programando sobre web. Como esto no va a ser de diseñó gráfico web nos vamos a olvidar de Dreamweaver y usaremos un editor de texto, pero no cualquiera, les recomiendo Notepad++. No necesitas estos programas forzosamente, pero a mí se me han hecho muy comodos y como es básico esto no necesitaremos un IDE para PHP.

Todo en este mundo necesita diseño. Una que hay que entender (desde mi punto de vista) es que una página dinámica se compone de scripts (programas) en el servidor y si quieres scripts en el cliente, la presentación (en el cliente) con hojas de estilo (por ser mas fácil de manejar). Bajo estas ideas desarrolle este archivo XML que contiene el listado de una ‘página’ (ver 1):<?xml version=”1.0″ encoding=”iso-8859-1″?>
<configuration page=”nombre_seccion”>

<scripts>
<client>
<li type=”file”>archivo.js</li>
</client>
<server>
<li type=”file”>archivo.php</li>
</server>
</scripts>
<design>
<li>archivo_estilo.css</li>
</design>
<modules struct=”archivo_base_maquetacion”>
<li div=”destino”>archivo_modulo.ext</li>
</modules>

</configuration>

Uno de los problemas es que vas a un XML por cada’página’ de tu web, podrías meter varias descripciones de ‘página’ en cada XML, pero en este caso el problema es que se usa DOM para leer el XML y esto consume recursos. Mi sugerencia es el que sigue:

<?xml version=”1.0″ encoding=”iso-8859-1″?>
<configuration section=”nombre_seccion”>

<libs>
<scripts>
<client>
<li type=”file”>archivo.js</li>
</client>
<server>
<li type=”file”>archivo.php</li>
</server>
</scripts>
<design>
<li>archivo_estilo.css</li>
</design>
<modules struct=”archivo_base_maquetacion”>
<li div=”destino”>archivo_modulo.ext</li>
</modules>
</libs>

<page name=”nombre_pagina”>
<scripts>
<client>
<li type=”file”>archivo.js</li>
</client>
<server>
<li type=”file”>archivo.php</li>
</server>
</scripts>
<design>
<li>archivo_estilo.css</li>
</design>
<modules struct=”archivo_base_maquetacion”>
<li div=”destino”>archivo_modulo.ext</li>
</modules>
</page>

</configuration>

¿Por qué mas complejo? Porque pienso que una carpeta con una aplicación web usara librerías generales (que esta en la etiqueta <libs>) y varías ’subpáginas’, pero como no quiero verme muy complicado usaremos la primera versión para desarrollar este ejemplo.

Por el momento es todo, pero el siguiente post pondre el schema (la definición de datos del archivo XML de configuración) y empezare a hablar de PHP y XML (DOM). Pronto pondre los archivos en algún lugar para que puedan descargarlos (porque en este CMS no puedo indentar el código)

4 Responses leave one →
  1. 2007 Enero 28
    oislas permalink

    que buena idea… yo quiero algo parecido.. recuerdas los sitios de la semana de ingeniería electrica http://turing.izt.uam.mx/XIIISemanaEIE/ y el de los talleres intertrimestales http://turing.izt.uam.mx/Talleres07I/, que son prácticamente la misma estructura, pues esa parte definirla con XML…. no quisiera aventurarme a decir que un XSLT pudiera transformar así nomas el XML para que se viera como el sitio en sí, pero sí sería más o menos fácil con un pequeño programa en php …. aunque no las secciones no las he pensado con tanto detalle como tú.. creo que no vendría mal una sección que “coincida” con el contenido de la etiqueta body de cada página…. podría ser útil.

    pero para la parte del registro aunque he pensado estructurarlo en también en xml, no sé bien de una base de datos que lo haga “transparente” ;) asi que supongo que tendré de aguantarme con las relacionales.. claro definidas antes con XML

  2. 2007 Abril 24

    Muy buen comentario. Soy docente y me ha servido mucho esta información. Gracias y sigue asi.
    Saludos
    Juan
    diseño web
    diseño de paginas web

  3. 2007 Junio 1
    GamaDigital permalink

    Muy buen artículo, realmente interesante!

    Diseño Web
    Diseño de Páginas Web
    Posicionamiento en Buscadores

Trackbacks & Pingbacks

  1. Los archivos de ejemplo « ixmael.arts

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscripción al comentario vía RSS