0% encontró este documento útil (0 votos)
15 vistas18 páginas

MVC y Rutas

Cargado por

andres.marroquin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas18 páginas

MVC y Rutas

Cargado por

andres.marroquin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Desarrollo Back End PHP con Framework Laravel 8

www.conexion.sv @conexion_sv /conexion.sv


Agenda día 3
Apertura
Bienvenida
Objetivo
Contenido:
MVC y rutas
¿Qué es MVC laravel?
Rutas

www.conexion.sv @conexion_sv /conexion.sv


MVC y rutas
¿Qué es MVC laravel?
Laravel es un framework PHP web gratuito y de código abierto, que se
basa en la arquitectura MVC (Molde-View-Controller). Un marco
proporciona una estructura y un punto de partida para crear su
aplicación. Ayuda a proporcionar una experiencia de desarrollador
increíble al mismo tiempo que proporciona funciones potentes a través
de la dependencia. Laravel Framework se utiliza para desarrollar
aplicaciones web complejas. Laravel puede ayudar a un desarrollador a
desarrollar una aplicación web segura. Es un marco escalable y también
tiene una amplia comunidad en todo el mundo. Laravel es un marco de
pila completa, que ayuda a un desarrollador a crear aplicaciones de pila
completa con la ayuda de Laravel.

www.conexion.sv @conexion_sv /conexion.sv


Arquitectura MVC: divide cualquier código de aplicación en 3 partes, lo que
hace que el código sea más fácil de mantener y facilita la modificación, lo
que hace que el proceso de desarrollo sea mucho más rápido.
Para entender más a Laravel, necesitamos aprender sobre la estructura
MVC (Modelo-Vista-Controlador). Descripción general de MVC: el marco
basado en MVC divide principalmente toda la aplicación en tres
componentes:
Modelo: Interactúa con la base de datos.
Vista: Interfaz de usuario. Contiene todo lo que un usuario puede ver en la
pantalla.
Controlador: ayuda a conectar el modelo y la vista y contiene toda la lógica
comercial. También se conoce como el “Corazón de la aplicación en MVC”.

www.conexion.sv @conexion_sv /conexion.sv


Para entender más a Laravel,
necesitamos aprender sobre la
estructura MVC (Modelo-Vista-
Controlador).
Descripción general de MVC: el marco
basado en MVC divide principalmente
toda la aplicación en tres componentes:
 Modelo: Interactúa con la base de
datos.
 Vista: Interfaz de usuario. Contiene
todo lo que un usuario puede ver en la
pantalla.
 Controlador: ayuda a conectar el
modelo y la vista y contiene toda la
lógica empresarial. También se
conoce como el “Corazón de la
aplicación en MVC”.

www.conexion.sv @conexion_sv /conexion.sv


En la imagen de arriba, podemos entender cómo interactúa el marco MVC con el usuario y la base de datos.

Modelo: este componente del marco MVC maneja los datos utilizados en su aplicación. Ayuda a recuperar los datos
de la base de datos y luego realizar alguna operación que se supone que debe realizar su aplicación, luego almacena
esos datos en la base de datos.

Vista: este componente es la interfaz de usuario, que define la plantilla que se envía como respuesta al navegador.
Los componentes de esta vista contienen la parte del código que ayuda a mostrar datos en la interfaz de usuario en
el navegador del usuario.

Controlador: este componente del controlador ayuda a interactuar con el componente del modelo para obtener
datos de la base de datos y luego pasar esos datos al componente de vista para obtener el resultado deseado en la
pantalla del navegador del usuario. De la misma manera, cuando el usuario ingresa algunos datos, el controlador
obtiene esos datos y luego realiza alguna operación o simplemente inserta esos datos en la base de datos con el
uso de los componentes del modelo.

www.conexion.sv @conexion_sv /conexion.sv


Por qué MVC: se utiliza principalmente para separar el código de la aplicación en la interfaz de usuario, los

datos y la lógica de control. Puede beneficiar al desarrollador mantener fácilmente el código, lo que puede

ayudar a que el proceso de desarrollo sea mucho más fluido.

Ventajas de usar el framework MVC:

 Organizar proyectos de aplicaciones web a gran escala.

 Modificación más fácil de realizar.

 La modificación en cualquier parte no afectará ninguna otra parte del código.

 Ayuda en un proceso de desarrollo más rápido.

 Ayudas para la invocación de métodos asincrónicos.

Ahora que ya conoces el concepto de MVC veremos lo que son las rutas, luego entraremos mas en detalle

de como se desarrolla en MVC laravel.

www.conexion.sv @conexion_sv /conexion.sv


Rutas
Enrutamiento básico (Basic Routing)

Las rutas de Laravel más básicas aceptan un URI y un cierre, lo que proporciona un método muy
simple y expresivo para definir rutas y comportamientos sin complicados archivos de configuración de
enrutamiento:

www.conexion.sv @conexion_sv /conexion.sv


Los archivos de ruta predeterminados (The Default Route Files)

Todas las rutas de Laravel se definen en sus archivos de ruta, que se encuentran en el directorio de rutas. Estos archivos
son cargados automáticamente por App\Providers\RouteServiceProvider de su aplicación. El archivo route/web.php
define las rutas que son para su interfaz web. A estas rutas se les asigna el grupo de middleware web, que proporciona
características como el estado de la sesión y la protección CSRF. Las rutas en route/api.php no tienen estado y se les
asigna el grupo de middleware api.

Para la mayoría de las aplicaciones, comenzará definiendo rutas en su archivo route/web.php. Se puede acceder a las
rutas definidas en route/web.php ingresando la URL de la ruta definida en su navegador. Por ejemplo, puede acceder a la
siguiente ruta navegando a http://example.com/user en su navegador:

www.conexion.sv @conexion_sv /conexion.sv


Las rutas definidas en el archivo route/api.php están anidadas dentro de un grupo de rutas por
RouteServiceProvider. Dentro de este grupo, el prefijo URI /api se aplica automáticamente,
por lo que no necesita aplicarlo manualmente a cada ruta en el archivo. Puede modificar el
prefijo y otras opciones del grupo de rutas modificando su clase RouteServiceProvider.

Métodos de enrutador disponibles (Available Router Methods)

El router te permite registrar rutas que respondan a cualquier verbo HTTP:

www.conexion.sv @conexion_sv /conexion.sv


A veces, es posible que deba registrar una ruta que responda a varios verbos
HTTP. Puede hacerlo utilizando el método de coincidencia. O incluso puede
registrar una ruta que responda a todos los verbos HTTP utilizando cualquier
método:

www.conexion.sv @conexion_sv /conexion.sv


Al definir varias rutas que comparten el mismo URI, las rutas que usan los métodos get, post, put, patch, delete y options
deben definirse antes que las rutas que usan los métodos any, match y redirect. Esto asegura que la solicitud entrante
coincida con la ruta correcta.

Inyección de dependencia (Dependency Injection)

Puede escribir sugerencias sobre las dependencias requeridas por su ruta en la firma de devolución de llamada de su ruta.
Las dependencias declaradas se resolverán automáticamente y el contenedor de servicios de Laravel las inyectará en la
devolución de llamada. Por ejemplo, puede escribir sugerencias en la clase Illuminate\Http\Request para que la solicitud
HTTP actual se inyecte automáticamente en la devolución de llamada de su ruta:

www.conexion.sv @conexion_sv /conexion.sv


Protección CSRF (CSRF Protection)

Recuerde, cualquier formulario HTML que apunte a las rutas POST, PUT, PATCH o DELETE que se definen en el archivo
de rutas web debe incluir un campo de token CSRF. De lo contrario, la solicitud será rechazada. Puede leer más sobre la
protección CSRF en la documentación CSRF que se proporciona en la bibliografía, esta es la documentación oficial de
laravel:

www.conexion.sv @conexion_sv /conexion.sv


Vistas Rutas (View Routes)

Si su ruta solo necesita devolver una vista, puede usar el método Route::view. Al igual que el
método de redirección, este método proporciona un atajo simple para que no tenga que definir
una ruta completa o un controlador. El método de vista acepta un URI como primer argumento
y un nombre de vista como segundo argumento. Además, puede proporcionar una matriz de
datos para pasar a la vista como un tercer argumento opcional:

www.conexion.sv @conexion_sv /conexion.sv


Parámetros de ruta
Parámetros requeridos (Required Parameters)
A veces necesitará capturar segmentos del URI dentro de su ruta. Por
ejemplo, es posible que deba capturar la ID de un usuario de la URL.

www.conexion.sv @conexion_sv /conexion.sv


Puede hacerlo definiendo parámetros de ruta:

Los parámetros de ruta siempre están encerrados entre llaves {} y deben consistir en
caracteres alfabéticos. Los guiones bajos (_) también son aceptables dentro de los nombres
de parámetros de ruta. Los parámetros de ruta se inyectan en las devoluciones de
llamada/controladores de ruta en función de su orden; los nombres de los argumentos de
devolución de llamada/controlador de ruta no importan.

www.conexion.sv @conexion_sv /conexion.sv


Inyección de dependencia y parámetros (Parameters & Dependency Injection)
Si su ruta tiene dependencias que le gustaría que el contenedor de servicios de
Laravel inyecte automáticamente en la devolución de llamada de su ruta, debe
enumerar los parámetros de su ruta después de sus dependencias:

www.conexion.sv @conexion_sv /conexion.sv


Parámetros opcionales (Optional Parameters)

Ocasionalmente, es posible que deba especificar un parámetro de ruta que no siempre esté presente en el URI. Puede
hacerlo colocando un ? marque después del nombre del parámetro. Asegúrese de dar a la variable correspondiente de la
ruta un valor predeterminado:

www.conexion.sv @conexion_sv /conexion.sv

También podría gustarte