Está en la página 1de 12

CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA

INFORMACIÓN ING. ALEJANDRO


TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

TUTORIAL FUNDAMENTOS BÁSICOS LARAVEL 5.6

Laravel es un framework de código abierto para desarrollar aplicaciones y servicios web con PHP 5 y
PHP 7. Su filosofía es desarrollar código PHP de forma elegante y simple, evitando el "código
espagueti". Fue creado en 2011 por Taylor Otwell y tiene una gran influencia de frameworks como
Symphony, Ruby on Rails, Sinatra, ASP.NET MVC, entre otros.

Eloquent es el ORM (Object-Relational-Mapping) que incluye Laravel para manejar de una forma fácil y
sencilla los procesos correspondientes al manejo de bases de datos en nuestro proyecto, gracias a las
funciones que provee podremos realizar complejas consultas y peticiones de base de datos sin escribir
una sola línea de código SQL.

INSTALACIÓN ENTORNO DE TRABAJO PARA LARAVEL

Para trabajar con un proyecto en Laravel se debe tener instaladas las siguientes herramientas:

1. Para entornos Windows instalar Xampp con PHP 7.2.4 y para entornos Mac y Linux instalar por
separado cada uno de los paquetes:

 Servidor Apache 2.
 PHP en su versión 7.2.3 o superior.
 Servidor de base de datos MYSQL versión 5.7 o superior.

2. Gestor de paquetes Composer.


3. Git (Software de control de versiones).
4. Sublime Text 3.

CREACIÓN PROYECTO LARAVEL v5.6.*

Crear Proyecto Laravel en la consola del sistema operativo o git Bash, con el siguiente Código:

Después de creado el proyecto ubicarse en la carpeta creada mediante el comando


cd/ExampleCRUD.

PLUGIN LARAVEL COLLECTIVE

Es un proyecto que ha buscado rescatar y mantener algunas de las funcionalidades que se han
removido del núcleo de Laravel durante sus actualizaciones, pero que aun así siguen siendo de gran
utilidad para algunos desarrolladores. Actualmente cuenta con los paquetes Forms & Html,
Annotations y Remote(SSH), que gracias a un gran trabajo realizado por toda la comunidad de Laravel
siguen siendo mantenidos y actualizados hasta el momento.

En el editor de texto Sublime Text, ubicar el archivo composer.json, donde deben agregar la
siguiente linea "laravelcollective/html": "5.6.*" en el método "require": {
CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

Nota: No olvidar colocar la coma después de la linea que tenga dicho objeto.

Posterior de agregar la linea al archivo composer.json, en la consola digitar composer update.

Agregar un nuevo provider al arrary providers en el archivo ubicado en config/app.php:

Por último, añadir dos alias de clase al array aliases de config/app.php:


CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

CONFIGURACIÓN DE BASE DE DATOS

Lo primero que se debe realizar, es crear una base de datos en MYSQL, usando alguna herramienta
que permita hacer la gestión (phpmyadmin, mysql-workbench o consola); dejándola totalmente vacía.

Una vez creada la BD se deben configurar los datos de conexión en el archivo .env de la aplicación.

CREAR UN NUEVO MODELO DE ELOQUENT

Gracias a la linea de comandos artisan que provee el framework, se puede crear modelos y demás
tareas desde la consola.

Por estándares de calidad el nombre de las clases deben escribirse con la primera letra mayúscula y
en singular, Laravel hará el resto por nosotros.

Con el comando anterior se habrán creado dos archivos nuevos, uno llamado “Movie.php” dentro de
la carpeta /app/Models y otro llamado 2018_05_09_174435_create_movies_table.php dentro de
database/migrations. Este último es donde se generarán los atributos correspondientes a la tabla que
se generará en MYSQL por medio del proceso de migración.
CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

ATRIBUTOS DE LA MIGRACIÓN

Definir los atributos “name” y “description” dentro del archivo de migración previamente creado.

Seguido de realizar la creación de los atributos, en la consola realizar la siguiente instrucción:


CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

ATRIBUTOS FILLABLE Y GUARDED

Laravel permite asignar valores a cada uno de los atributos de la tabla de una manera muy sencilla con
un array asociativo de elementos (que pueden ser los campos de un formulario), de esta forma se
facilita el proceso de almacenaje desde una petición generada en un formulario. Sin embargo esto
puede originar un problema de seguridad, ya que en ocasiones hay campos que no deberían enviarse
y tienen que permanecer protegidos a la vista de los usuarios finales.

Por defecto, todos los campos se tratan como protegidos y se debe indicar cuales pueden ser
almacenados por medio del envío de una petición:

1 $fillable = [];

Dentro de este array ($fillable) se pueden especificar cuáles de los campos de la tabla pueden ser
almacenados por medio de una asignación masiva. (que es el caso cuando enviamos un formulario
creando un array asociativo para ser guardado).

1 $guarded = [];

Esta propiedad indica que los campos definidos allí no pueden ser almacenados usando Mass
Assignment, por lo cual nunca debería enviarse un Input::get() o cualquier otro tipo de datos o arreglo
proveniente de un controlador manipulable por un usuario.

CONFIGURACIÓN DEL MODELO

Dentro de la clase del modelo Movie.php, agregar lo siguiente:


CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

CONFIGURANDO RUTAS DE ACCESO

Dentro del archivo web.php, ubicado en la carpeta routes de nuestra aplicación, agregar las siguientes
rutas para el modulo de movies:

GENERAR CONTROLADOR DEL MODULO MOVIE

Cuando se crea un registro se realiza una instancia del modelo, se asocian los valores
correspondientes a cada campo y se procede a guardar. Eloquent permite hacer esto de dos formas
diferentes. En primera medida se debe crear un controlador para el recurso movie, llamado
MovieController de la siguiente manera:

1. PRIMERA OPCIÓN

En la cabecera de este nuevo archivo importamos el modelo Movie.php:

Crear el método store() el cual recibirá la petición de tipo post, con la información del nuevo registro,
en este caso se apoyará de la clase Illuminate\Http\Request del framework, que se encarga de
tramitar las peticiones generadas desde el Frontend.
CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

De esta manera, se instancia el modelo Movie, y se asigna uno a uno los valores a cada
atributo, y luego guardará la información usando el método save().

2. SEGUNDA OPCIÓN

En este caso se hace uso del método create() del objeto. Ya que en el formulario se han
definido los campos usando los mismos nombres de los atributos de la clase Movies, no habrá
ningún problema, enviar el request como array asociativo y guardar el nuevo registro.

CREAR PROCESO DE REGISTRAR MOVIE

1. Crear un archivo llamado new.blade.php, dentro de la carpeta resources/views/movies.


CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

2. Agregar el método create() al controlador MovieController, que permitirá acceder a la vista


new.blade.php, a través de la ruta movie.create que se encuentra asignada al botón create en
el listado de las películas.

CREAR PROCESO LISTAR MOVIES

1. Crear un archivo llamado list.blade.php, dentro de la carpeta resources/views/movies.


CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

2. Agregar el método index() al controlador MovieController, que permitirá acceder a la vista


list.blade.php, a través de la ruta movie, enviándole la colección de datos de todas las
películas registradas en la Base de datos.

EJECUTAR SERVIDOR Y LANZAR PROYECTO EN EL NAVEGADOR

En la consola de comandos del S.O, ejecutar el comando php artisan serve para lanzar el servidor
por el puerto 8000. Es importante que esta consola siempre se encuentre abierta y ejecutando.

Al ejecutar el comando en la consola, abrirá una conexión al servidor local por el puerto 8000. Si
ingresamos en el navegador a: http:://localhost:8000/movie visualizará algo similar a esto:

Para crear un nuevo registro, hacer click en el enlace Create y se redirigirá al formulario
new.blade.php.
CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

GENERAR MÓDULO DE AUTENTICACIÓN

Laravel incluye un módulo de seguridad de usuarios por defecto, para hacer uso de ella, en la linea de
comandos digitar el siguiente código:

Este comando creará la estructura de rutas, controladores y vistas básicas de registro.

Rutas en el archivo
routes/web.php

Controladores

Conjunto de Vistas

CREAR PROCESO DE ACTUALIZAR MOVIES

1. Crear un nuevo formulario de actualización llamado update.blade.php, dentro de la carpeta


resources/views/movies.
CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

Para este formulario se ha cambiado el método del formulario a put y la ruta a movie.update.

2. Agregar el método edit() al controlador MovieController, que permitirá acceder a la vista


update.blade.php, a través de la ruta movie, enviándole la colección de datos de todas las
películas registradas en la Base de datos.

Esta función recibe como parámetro el id del registro a modificar, usando Eloquent se busca el
registro y lo envía al formulario para cargar los datos en la vista update.blade.php. Al editar un
registro se verá similar a la siguiente imagen:

3. Agregar el método update() al controlador MovieController, que permitirá realizar el proceso


de actualización de los registros a la base de datos, a través de la ruta movie.update.

El registro es consultado con el método find(), pasando como parámetro el id del registro a
modificar, luego se asigna cada uno de los valores al modelo y por último se usa nuevamente el
método save() para almacenar los cambios.
CENTRO GESTIÓN DE MERCADOS LOGÍSTICA Y TECNOLOGÍAS DE LA
INFORMACIÓN ING. ALEJANDRO
TECNÓLOGO EN ANÁLISIS Y DESARROLLO DE SISTEMAS DE MUNEVAR B.
INFORMACIÓN

CONSULTAS BÁSICAS CON ELOQUENT

1. En el listado de todos los registros existe un formulario de búsqueda, con el que se aplicará el
filtro por el nombre, usando el operador LIKE de SQL. Gracias a Eloquent no es necesario
escribir toda una linea de SQL para crear la búsqueda.

Dentro del controlador MovieController.php, crear un método llamado show():

El método where() recibe como parámetros, el nombre de la columna que se va a consultar en


la base de datos, el operador de comparación y por último el valor que se desea buscar.
Seguido a esto se retornará a la vista list.blade.php con el objeto resultante de la consulta.

2. Se pueden realizar varios filtros, con tan solo reemplazar en el método las lineas o si es de
preferencia, se pueden crear mas métodos para realizar otros tipos de búsquedas como:

Cuando se usan varios ->where(), Eloquent los agrupa usando el operador AND de SQL, si
queremos trabajar con OR debemos usar ->orWhere()

ELIMINANDO REGISTROS CON ELOQUENT

Para eliminar registros se hace uso del método delete(). Crear el método destroy() en el controlador
MovieController.php

También podría gustarte