Knowledge Programación Entornos de Programación
Este material didáctico forma parte del Curso online de Programación en PHP Avanzada

Crear la estructura de la aplicación web en PHP

Todas las aplicaciones web realizadas según el patrón MVC, deben cumplir con una estructuración prefijada.

Comenzaremos creando tres nuevas carpetas dentro de la carpeta pública del servidor con el nombre controller, model y view.

  • controller contendrá todos los scripts de la capa controlador.
  • model contendrá todos los scripts de la capa modelo.
  • view contendrá todos los scripts de la capa vista.

Por lo general, cada sección de la web contará con un script PHP en cada una de las capas con el nombre de la sección. Casa script se encargará de las acciones de la sección específicas para la capa en la que está ubicado.

Tenemos una web con las secciones noticias y productos.

Para crear las secciones generaremos los siguientes scripts:

  • controller/noticias.php
  • controller/productos.php
  • model/noticias.php
  • model/productos.php
  • view/noticias.php
  • view/productos.php

Tal y como hemos visto en el ciclo de vida del patrón MVC, el usuario realiza la petición directamente al controlador. Sin embargo, el controlador se encuentra siempre dentro de la carpeta controller, lo cual hace que la URL solicitada por el usuario no coincida con la estructura de directorios del servidor.

Siempre que la URL que el usuario debe solicitar no coincida con la estructura de carpetas del servidor, debemos utilizar la reescritura de URLs para ajustarlo.

Reescritura de URLs

Para configurar la reescritura de URLs del servidor, debemos utilizar el módulo mod_rewrite de Apache.

Utilizaremos un archivo .htaccess para establecer las directivas de mod_rewrite de forma que todas las URLs pasen por un único script que las controle. El contenido de .htaccess debe ser el siguiente:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(jpg|css|js|gif|png)$ [NC]
RewriteRule ^(.*) index.php?pantalla=$1 [QSA]

El script que controla las peticiones, obtendrá la URL que le está llamando de $_GET['pantalla'].

NOTA: Hemos añadido una línea adicional a nuestro .htaccess que evita que las URLs que contengan archivos de recursos (imágenes, hojas de estilos, scripts de javascript...) sean reescritas y procesadas por el script de PHP. 

Mediante la reescritura de URLs, haremos que todas las URLs que el usuario nos envía sean procesadas por el script index.php que ubicaremos en la raíz de la carpeta pública del servidor.

Este script analizará la URL que el usuario ha utilizado y llamará al controlador de la sección correspondiente mediante un include

Estructura de la aplicación web - Parte 1  
Estructura de la aplicación web - Parte 2
 

Este contenido didáctico abierto está extraído del Curso online de Programación en PHP Avanzada.

Amplía tus conocimientos con el Curso Online de Programación en PHP Avanzada

Puedes continuar ahora la formación matriculándote en el curso, o si lo prefieres, consultar nuestro catálogo con cerca de 400 actividades formativas acreditadas.

Benefíciate del crédito para formación bonificando el curso.

Este sitio web utiliza cookies de terceros con la finalidad de analizar el uso que hace de nuestra web y personalizar el contenido de los anuncios. Si continúa navegando entendemos que acepta su uso. Más información