Páginas individuales VS Índice + includes

Imagen de Psy
Psy – Vie, 24/03/2006 – 22:32

Bueno, la idea es discutir un poco sobre este método para estructurar un site que llamé "Índice + includes" como para buscarle un nombre descriptivo; sé que es un método conocido y empleado, pero como llegué a el espontáneamente desconozco si la técnica tiene un nombre propio.
Para explicarlo lo mejor es compararlo con una técnica "básica" tradicional para el armado de sites, ya que luego me interesaría debatir precisamente los pros y los contras de su utilización frente a otros métodos.

Supongamos que tenemos entre manos la creación de pequeño sitio de internet bajo PHP. Lás páginas se componen de una cabecera y de un pie de página comunes para todas ellas, y luego una sección que llamaremos cuerpo de la página, y que cambia entre página y página.

El método "tradicional" para resolver esto sería:

<?php
include ("includes/cabecera.inc.php");

( cuerpo de la página )

include ("includes/pie.inc.php");
?>

Y así en todas las página que componen el sitio. Los vínculos entre páginas son directos y sin otras variables que las necesarias para el funcionamiento de las funciones internas del sitio. Una estructura de directorio común para estos sitios sería algo así:

<includes>
index.php
institucional.php
contacto.php

El método que llamo "indice + includes" posee una estructura de directorios como esta:

<secciones>
index.php

Como se puede deducir, las páginas individuales que componen el sitio están ahora dentro de la carpeta "secciones", y se suprimieron los includes correspondientes a la cabecera y el pie, ya que están ahora contenidos dentro del propio index.php. Internamente, este archivo se vería así:

( cabecera )

<?php
switch ($_GET['seccion']) {
    case "institucional":
       include ("secciones/institucional.php");
       break;
    case "contacto":
       include ("secciones/contacto.php");
       break;
    default:
       include ("secciones/index.php");
}
?>

( pie )

Como pueden ver, es el propio index.php el que va incluyendo cada una de las páginas según el contenido de la variable sección. Los vínculos se realizan con llamados del estilo: index.php?seccion=contacto

 Las ventajas que encuentro de este método son, en primer lugar, una mejor y más prolija distribución de los archivos del sitio, mucha más facilidad para manejar vínculos internos —sobre todo en imágenes, CSS's y Javascripts externos (todos parten desde el root no importa en que carpeta esté el cuerpo de la página)—, y URL's más breves y "ocultamiento" de la estrucutra interna del sitio. Mencionaré también en menor medida, una mayor facilidad para condicionar el visionado de páginas específicas del sitio.

Entre las desventajas nombraría un mayor trabajo del servidor, que debe leer e incluir constantemente código en el índice (generalmente mucho más extenso que la cabecera y el pie sumados) y algo de dificultad para manejar tanto los vínculos internos del sitio, como también formularios y javascript que tengan que lidiar con URL's.

Bueno, espero haberme explicado correctamente. ¿Qué otras desventajas le encuentran a está técnica? ¿Es conocida, se enseña en los cursos de programación?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Psy

Bueno, al parecer esta

Psy
(Dom, 02/04/2006 09:33)
Bueno, al parecer esta técnica se llama Front Controller pattern y pude ver algunos ejemplos muy elaborados de la misma, enfocados principalmente a permitir un orden en la estructura de directorios que componen el sitio, pero a un nivel técnico, es decir, no separar secciones sino componentes.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Enviar un comentario nuevo

*
*
El contenido de este campo se mantiene como privado y no se muestra públicamente.


*

  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • Images can be added to this post.
  • Insert Google Map macro. Create a macro
  • Insert Google Map macro. Create a macro
  • Images can be added to this post.

Copyright ECIMTech. Todos los derechos reservados.