Construcción de un sistema MVC simple con PHP5
Febrero 18, 2007
El siguiente post corresponde a una traducción del articulo Building a simple MVC system with PHP5 por lo que el crédito lo dejo a sus respectivos autores. Únicamente me parece buena idea incrementar la información en español existente en Internet sobre programación y diseño en PHP en aspectos diferentes al estilo de programación estructurada.
Resumen
En este tutorial usted va a aprender como construir un sistema Modelo-Vista-Controlador simple con PHP 5.1 y algunas de las características de la Biblioteca Estándar de PHP (SPL’s).
Introducción
Bienvenido a este tutorial, usted necesitará tener PHP 5.1y SPL instalado para seguir este tutorial, esto debido a que utilizaremos varias de las ultimas características existentes en PHP5.
En este tutorial voy a mostrarles como construir un sistema Modelo-Vista-Controlador simple, el cual es el patrón de diseño más común para el desarrollo de grandes aplicaciones Web. Voy a guiarle por todos los pasos necesarios para iniciarte en el mundo de un verdadero sistema MVC
Un solo punto de entrada
Una aspecto importante relacionado con nuestro sistema MVC es que éste debe tener un único punto de entrada. Envés de tener varias docenas de archivos PHP que realicen lo siguiente:
include ('global.php');
// Aquí el código de la pagina actual
?>
Tendremos una sola página que maneje todas las peticiones. Esto significa que no tendremos que incluir el archivo global.php cada vez que deseamos crear una página nueva. Este “único punto de entrada” será llamado “index.php” y, hasta el momento, será algo así:
// Hace alguna cosa
?>
Como se puede apreciar, la página principal no hace nada todavía, pero lo hará en un minuto.
Para cerciorarse de que todas las peticiones vayan a la página principal configuraremos RewriteRule en el archivo .htaccess utilizando para ello el modulo de apache mod_rewrite. Debemos colocar el archivo llamado “.htaccess” en el mismo directorio que se encuentra el archivo de index.php y debe incluir el siguiente código:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
Primero comprobamos si existe el archivo actual con el comando RewriteCond, y si no existe, lo redireccionamos al archivo index.php. Tenemos que comprobar si el archivo existe, porque también deseamos poder utilizar archivos normales que no son PHP, tales como imágenes JPEG.
Si usted no puede utilizar .htaccess o el modulo mod_rewrite, debería realizar las redirecciones manualmente a través de peticiones al archive index.php, lo cual significa que sus enlaces deben seguir el formato “index.php?route=[petición-va-aquí]”, ejemplo: index.php?route=chat/index.
Ahora que todas las peticiones están pasando a través de un solo punto de entrada, podemos comenzar a escribir el archivo index.php. Las primeras cosas que tendremos que realizar son algunas tareas inicialización. Para ello creamos un nuevo directorio llamado “includes”, y en este directorio creamos un nuevo archivo llamado “startup.php”. Luego debemos poner el siguiente código en el archivo index.php:
# Tareas de inicialización (definición de constantes, etc.)
require 'includes/startup.php';
?>
Entrada almacenada bajo: PHP, Patrones y Antipatrones
Este post ha sido visto 1892 veces
Suscribirse por mail
Envia comentario
Algunas etiquetas HTML estan permitidas:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Conectate a este comentario | Suscribete a los comentarios via RSS Feed