En este nuevo capítulo vamos a crear una nueva estructura de carpetas, y dentro de esta estructura será donde vamos a trabajar con este patrón de diseño denominado MVC.
Para ello, con VSC creamos un nuevo proyecto denominado mvc, y lo primero que vamos a escribir en él va a ser un archivo index.php, el cual va a tener la siguiente sintaxis.
index.php
Enrutador
Cuando comencemos a crear páginas vamos a trabajar con un enrutador, el cual nos indica que indistintamente que nosotros coloquemos una u otra URL, lo que hace el enrutador es que siempre abre la misma página, lo que significa que vamos a tener siempre un único punto de acceso a nuestra aplicación, y desde esa única página a la cual nos redirige nuestra aplicación vamos a tener que analizar la URL, y una vez que analizamos la URL vamos a llamar a un determinado controlador, que es como dijimos antes el cerebro y el que va a determinar que acción se debe realizar.
En este capítulo vamos a determinar como podemos hacer que nuestra aplicación tenga un único punto de acceso, para ello vamos a crear un archivo denominado index.php que va a ser nuestro único punto de acceso, por lo cual cualquier petición que hagamos a través de la URL queremos que abra este archivo. Este archivo no se va a encontrar en la raíz de nuestro sitio, sino en una carpeta denominada public. public viene de público, cualquier cosa que coloquemos en esta carpeta queremos que sea de acceso público, es decir, que podamos abrirlo desde el navegador, como puedan ser index.php, archivos CSS, archivos JavaScript, imágenes... cualquier cosa que queramos sea pública, y al mismo tiempo van a existir otras carpetas, por ejm, app, dentro de las mismas podríamos colocar modelos, controladores, diferentes cosas... las cuales están por fuera de la carpeta pública y no queremos que sean de acceso público, no queremos que las puedan abrir desde el navegador, ya que puede ser peligroso que personas puedan abrir archivos donde indicamos como nos conectamos a una base de datos u otras acciones. De esta manera le damos un poco de seguridad.
Hasta aquí el esquema que tenemos es
- public (carpeta con todos los archivos de acceso público)
- index.php
- css
- javascript
- images
- .htaccess
- app (carpeta con todos los archivos de seguridad de nuestra aplicación)
- .htaccess
.htaccess
Para poder enrutar todo a nuesro archivo index.php tenemos que trabajar con un pequeño archivo denominad .htaccess, este archivo va a poder controlar las peticiones que se hagan a nuestro servidor. Para crear este archivo lo que tenemos que hacer es dentro de nuestra carpeta public crear nuestro archivo .htaccess, cuya sintaxis va a ser la siguiente.
.htaccess
También vamos a crear un archivo .htacces en la carpeta raíz de nuestro proyecto, cuya sintaxis será la siguiente.
.htaccess
RewriteEngine On
RewriteBase /2025/mvc/
# Si piden la raíz del proyecto, entra a /public/
RewriteRule ^$ public/ [L]
# Si no existe archivo/carpeta, reenvía la petición a /public/ conservando la ruta
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ public/$1 [L]
En el próximo capítulo lo que vamos a crear nuestro enrutador, que lo que va a hacer es encargarse de analizar la URL y una vez analizada lo que debe hacer es ejecutar alguna acción, que suele ser llamar a algún controlador. En principio lo que haremos será lograr que se muestre un determinado texto.