Está en la página 1de 11

M.T.

IRVIN ARLIN CHAN AC

GUÍA DE SESIÓN DE CLASE EN LÍNEA

Bienvenida:

Estimad@ estudiante, te doy la más cordial la Unidad II Desarrollo MVC de la


asignatura Aplicaciones web para I4.0, donde continuarás con el estudio de tu
asignatura y complementarás los conocimientos adquiridos implementando
frameworks para desarrollo MVC y realizarás el desarrollo de tu proyecto de
software.

Apertura:
La Unidad II Desarrollo MVC tiene como objetivo de aprendizaje que el
estudiante implemente Frameworks MVC para el desarrollo de aplicaciones Web
en entornos seguros.

Para dar inicio con los temas, se estudiará la unidad con los subtemas siguientes:

3.1 Modelo
3.2 Vista
3.3 Controlador

En esta unidad de aprendizaje identificarás el proceso de creación del modelo de


datos, analizarás los elementos necesarios para el diseño de las vistas de las
aplicaciones, analizarás

la programación de eventos que incluyen las aplicaciones y comprenderás la


inclusión de medios de seguridad en el desarrollo de aplicaciones.

Introducción

Nacido como sustituto del framework CodeIgniter, Laravel se caracteriza por un


código cuidado que implementa un modelo vista controlador (MVC), fuertemente
ligado a la orientación a objetos y que implementa con facilidad funcionalidades
que no todos los framework de la época implementaban, como la autorización y la
autenticación de usuarios.

Es importante entender el modelo MVC para que entendamos cómo funciona


Laravel en sus entrañas.
M.T. IRVIN ARLIN CHAN AC

El modelo vista controlador

El modelo vista controlador está fuertemente ligado a la programación orientada a


objetos e intenta implementar una arquitectura que se basa principalmente en
separar:

● Los datos.

● La lógica de negocio (la parte del código que interacciona entre los datos y las
vistas a través de eventos).
● Las vistas (lo que el usuario puede ver por pantalla).

El modelo

Hablar de modelos en Laravel es hablar de nuestra estructura de datos y hablar de


datos en programación orientada a objetos es hablar de los ORM (object-relational
mapper).

Los ORM permiten tener una declaración de objetos en código que tienen su
espejo en la base de datos que decidamos utilizar.

Así, cada modelo declarado en Laravel corresponde a una tabla dentro de tu base
de datos y gracias al ORM de Laravel, podemos insertar, actualizar o borrar datos
dentro de nuestro sistema de persistencia.

Gracias a este ORM, tenemos la capacidad de tener diferentes modelos en


nuestra aplicación. Algunos ejemplos son: usuarios, clientes, productos, etc. que
tendrán propiedades que serán los campos de nuestra base de datos.

El ORM utilizado por Laravel se llama Eloquent.

Eloquent permite realizar acciones contra diversos motores de bases de datos:


MySQL, PostgreSQL, SQLite y SQL Server (estos motores son los implementados
por defecto dentro del framework).

Los modelos de Laravel viven dentro del directorio app\Models.

El controlador

En lugar de incluir toda la lógica de programación, la que gestiona los eventos de


tu aplicación, en tu propio sistema de carpetas:

¿por qué no ceñirse a un sistema que permita obtener las peticiones del
navegador y devolver resultados de una manera automática?
M.T. IRVIN ARLIN CHAN AC

Esto es lo que implementa Laravel con su sistema de controladores, una gestión


de peticiones a través de las rutas declaradas en la aplicación y una devolución de
respuestas y todo correctamente implementado dentro de nuestra aplicación.

Los controladores en Laravel viven en app\Http\Controllers.

La vista

¿Ya sólo nos quedaba una cosa, verdad? ¿Cómo mostramos la información al
usuario?

El sistema plantillas por defecto de Laravel se llama Blade.

Gracias a BLADE, podemos hacer llamadas a plantillas que mostrarán la


información en HTML al usuario, pero que son capaces de aceptar la información
que es enviada desde los controladores.

Los controladores son el punto intermedio entre las rutas que lanza el usuario y las
vistas, donde además se aplica toda la lógica de programación.

No sólo eso, las vistas se pueden llamar también desde las rutas directamente y
estas aceptan la inyección de variables con valores a mostrar al usuario.

Blade es el sistema de plantillas por defecto, pero podemos instalar otros sistemas
de plantillas de terceros como: Twig, PlatesPHP, Smarty, etc.

Las vistas en Laravel viven en resources/views.

Desarrollo:

Para comprender mejor el desarrollo de aplicaciones a través de frameworks MVC


realizaremos un proyecto de desarrollo de software de una Librería que contemple
libros, usuarios, préstamos, sanciones, etc.

Activar el login

Después de crear la aplicación con Laravel y verificar su funcionamiento en el


navegador a través de la URL: http://localhost/LibreriaApp/public/
M.T. IRVIN ARLIN CHAN AC

Abrir la carpeta del proyecto con el editor Visual Studio Code:

Ubicar y abrir el archivo welcome.blade.php:


M.T. IRVIN ARLIN CHAN AC

Donde se puede observar que contiene las secciones de /home, login y register.
Para que estas secciones se muestren, vamos a ejecutar el siguiente comando
dentro de la carpeta del proyecto:

composer require laravel/ui


M.T. IRVIN ARLIN CHAN AC

Con lo cual vamos a instalar Bootstrap en la aplicación. Para crear y mostrar la


interfaz de usuario de autenticación ejecutamos el siguiente comando:

php artisan ui bootstrap --auth

Ejecuta los siguientes comandos:

npm install
npm run dev

Actualizamos la página de inicio de la aplicación y nos debe aparecer las opciones


de “login” y “register”:
M.T. IRVIN ARLIN CHAN AC

Si damos clic en cualquier de ellos nos envía a un formulario sin formato, que
posteriormente vamos a personalizar:

Crear la base de datos

Dentro de PhpMyAdmin vamos a crear una base de datos llamada Librería de tipo
UTF8. Vinculamos la aplicación con la base de datos creada modificado el archivo
.env:
M.T. IRVIN ARLIN CHAN AC

Y posteriormente vamos a verificar en la carpeta database los scripts php para


migración o generación automática de las tablas por parte de Laravel.

Modificamos el script de migración de la tabla ‘users’ para que se tengan más


datos de un usuario:
M.T. IRVIN ARLIN CHAN AC

public function up()


{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('rol');
$table->string('documento');
$table->string('foto');
$table->rememberToken();
$table->timestamps();
});
}

Posteriormente ejecutamos la migración con artisan para que nos cree las tablas
correspondientes en la base de datos:

php artisan migrate

Verificamos que se hayan creado las tablas.


M.T. IRVIN ARLIN CHAN AC

Ubicamos el controlador RegisterController.php creado para la interfaz de usuario


“Auth” y modificamos la función para crear usuarios con los campos nuevos
agregados:

También modificamos el modelo creado user.php con los nuevos datos que
asignamos:
M.T. IRVIN ARLIN CHAN AC

Probamos que funciona e inserta datos en la base de datos:

También podría gustarte