Crea Veloces APIs RESTful con Lumen y Homestead de Laravel
4.6 (80 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
330 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Crea Veloces APIs RESTful con Lumen y Homestead de Laravel to your Wishlist.

Add to Wishlist

Crea Veloces APIs RESTful con Lumen y Homestead de Laravel

Lumen, el micro-framework de Laravel, es ideal para APIs RESTful eficientes. Crea una API RESTful con Lumen y Homestead.
4.6 (80 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
330 students enrolled
Created by JuanD MeGon
Last updated 2/2016
Spanish
Curiosity Sale
Current price: $10 Original price: $60 Discount: 83% off
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • 4 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Dominio de las más recientes tecnologías de desarrollo web
  • Uso de herramientas livianas y ágiles para proyecto profesionales de la web
  • Desarrollo ágil de proyecto de alta complejidad
  • Conocimiento avanzado y profesional sobre el desarrollo web con PHP
View Curriculum
Requirements
  • Programación en PHP (conocimientos básicos son suficiente)
  • Nociones en POO (algo de herencia y clases)
Description

Crea tu propia API RESTful con Lumen 5 desde cero y paso a paso

En este curso aprende a desarrollar una API RESTful profesional y completamente funcional, usando Lumen, el micro-framework, basado en Laravel.

Lumen es un micro-framework para PHP basado en Laravel. Uniendo las características más resaltadas de Laravel en una versión mucho más liviana y rápida.

¿Por qué Lumen?

Lumen posee las mejores características de Laravel en una entrega mucho más liviana y ágil, sin dejar de ser expresivo, intuitivo, potente y sobre todo sencillo.

Con Lumen conseguirás que tu API soporte por lo menos mil doscientas (1200) peticiones en un rango de 10 segundo, con 10 peticiones simultáneas en cada uno de esos segundos. Esa gran velocidad lo hace el candidato perfecto para implementar una API RESTful en él.

Millones de programadores de PHP usan Laravel y todos concuerdan con la increíble facilidad y agilidad que Lumen proporciona para los proyectos web, lo cual incluye APIs RESTful por supuesto, así que no te quedes atrás.

En Lumen para PHP se han incluido nuevos conceptos y facilidades, similares a las de Laravel, permitiendo conseguir crear micro-servicios de manera ágil, liviana pero muy potente.

Durante el curso, aprenderás todo sobre la nueva estructura y los nuevos conceptos.

Aprenderás esto en Lumen y para tu API RESTful:

  • Principales diferencias y facilidades de Lumen respecto a Laravel
  • Creación de un entorno de desarrollo con Homestead
  • Interacción con las máquinas virtuales de Vagrant
  • Configuración de Homestead con Vagrant y sitios virtuales
  • Configuración y uso del editor de código Sublime Text 3
  • Uso de PHP artisan para creación de código
  • Middlewares globales y middlewares por rutas
  • Creación de modelos
  • Relaciones de uno a muchos entre modelos (1:N)
  • Relaciones de muchos a muchos entre modelos (N:N)
  • Tablas intermediarias o pivote
  • Controladores de peticiones
  • Validación de peticiones
  • Controladores de recursos
  • Controladores REST
  • Manejo y control de excepciones y errores
  • Migraciones (creación automática de bases de datos)
  • Seeds (Inserción automática en bases de datos)
  • Factories, para crear datos de prueba
  • Creación de un servidor de OAuth 2
  • Generación de access_token
  • Protección de recursos con access token
  • Restricción de acceso por medio de access token
  • Optimización del framework para producción
  • Interacción con la base de datos por medio de Eloquent
  • Mucho, mucho más.

Durante el curso crearás una API RESTful desde cero, siguiendo la arquitectura REST y la construcción adecuada de URLs para identificar acciones y recursos usando los controladores para recursos de Lumen.

Exprime al máximo las características de tus herramientas de trabajo (Sublime Text 3, Git shell, Lumen, Composer, PHP artisan) y mejora tu productividad para un desarrollo ágil.

Aprenderás a desarrollar un proyecto local en Windows con Homestead, cómo interactuar con la máquina virtual de Vagrant, con el sistema oprtativo Ubuntu por medio de una conexión ssh.

Verás cómo usar Lumen por medio de la consola de PHP artisan para construir de manera muy ágil una API RESTful que responda a métodos de HTTP (GET, POST, PUT, PATCH y DELETE), también a poblar la base de datos y construir su estructura de manera automatizada.

¡Y no termina ahí! Tendrás acceso de por vida a las clases adicionales que agregaré constantemente al curso.

Al finalizar este curso serás capaz de desarrollar tu propia API RESTful con Lumen y PHP de una manera rápida y simple, explotando al máximo las facilidades proporcionadas por este framework para la correcta y adecuada implementación de tus proyectos web

No esperes más para ser experto en PHP y RESTful. Únete al curso y nos vemos en clases

Who is the target audience?
  • A quien le guste la programación y el desarrollo web
  • A quien deseen llevar sus capacidades al siguiente nivel
  • Quien busque dominar nuevas técnicas de desarrollo para la web
  • Quien desee se hábil en desarrollo web con PHP
Students Who Viewed This Course Also Viewed
Curriculum For This Course
34 Lectures
03:14:17
+
Inicio del Curso
4 Lectures 13:37

¿De qué se trata el curso? ¿Cómo funciona? ¿Cómo aprovecharlo?

Preview 02:08

Conoce algunos comentarios acerca de las clases y el contenido del curso.

¡Te doy la Bienvenida!
01:28

Este curso te proporciona una enorme ventaja, que te permitirá hacer el seguimiento de los avances y cambios en el código del proyecto clase por clase, podrás copiar el código y editarlo fácilmente.

Preview 02:59

En esta clase verás porqué Lumen es más adecuado que Laravel para una API RESTful, por medio de pruebas AB para determinar la cantidad de peticiones que puede soportar el framework

Preview 07:02
+
Preparando el Entorno de Desarrollo/Local
6 Lectures 29:36

En esta sección verás dónde y cómo descargar las herramientas necesarias, junto con su instalación

  • Oracle Virtual Box
  • Vagrant
  • Git/Github
  • PHP y Composer
  • Sublime Text 3
Descargando e Instalando Todas las Herramientas Necesarias
10:08

Esta clase consiste en un sencillo ejercicio, donde deberás habilitar las siguientes extensiones de PHP:

  1. mbstring (necesaria para el correcto funcionamiento de composer y php artisan)
  2. pdo_mysql (necesaria para interactuar con la base de datos MySQL
[Ejercicio] Habilitando Nuevas Extensiones de PHP
00:32

Durante esta clase obtendrás una instancia de Lumen y agregarás Homestead como una dependencia de éste, para así tener una instancia de homestead por cada proyecto.

Obteniendo Lumen y Asociándolo a Homestead
07:22

Durante esta clase aprenderás a instalar, obtener y utilizar homestead.

Homestead es una instancia previamente diseñada y configurada para Vagrant, que permite desplegar en pocos minutos todo un entorno de desarrollo/local, especialmente configurado y adaptado para Laravel o Lumen.

Instalando, Configurando y Probando Homestead
02:42

Durante es clase verás cómo obtener fácilmente Sublime Text 3 e instalar los complementos más adecuados para desarrollar tus proyectos.

Sublime Text 3 es un editor de código, gratuito y muy potente. Es útil para proyectos en múltiples lenguajes entre los cuales por supuesto está incluido PHP. Sublime Text 3 cuenta con muchos complementos también gratuitos que permiten mejorar tu flujo de trabajo.

Configurando Sublime Text 3
03:02

Durante esta clase verás y comprenderás el funcionamiento de Vagrant y cómo hacer uso del mismo de manera muy sencilla.

Preview 05:50
+
Implementando la Estructura Inicial del Proyecto con Lumen
7 Lectures 44:43

Durante esta clase verás cómo está estructurado Lumen y las principales diferencias respecto a Laravel. También aprenderás a habilitar los componentes esenciales de Lumen para una mayor facilidad al implementar la API RESTful y configurar el entorno.

Configurando Lumen y Repasando su Estructura
07:42

Durante esta clase verás cómo crear los modelos que usaremos en el curso como caso de estudio. Cómo se relacionan entre ellos, relaciones de uno a muchos y de muchos a muchos.

Creando los Modelos y Relaciones Entre Modelos
07:21

Para ciertos modelos es necesario especificar el correcto nombre de las tablas con las cuales se asocia el modelo al interior de la base de datos, pues Lumen no logra "descifrar" correctamente el nombre de la tabla.


[Ejercicio] Especificando las Tablas de los Modelos
00:47

Durante esta clase verás cómo crear las migraciones para cada uno de los modelos, junto con la migración para la tabla intermedia (pivote) para la relación de muchos a muchos entre el modelo de cursos y de estudiantes.

Creando la Base de Datos con Migraciones de Lumen
07:30

Durante esta clase aprenderás a insertar datos de prueba al interior de la base de datos con el nuevo concepto de "factories" de Lumen/Laravel y usando faker para generar datos falsos muy fácilmente,

Insertando Datos de Prueba Usando Factories y Faker
08:46

La tabla de pivote (curso_estudiante) posee los timestamps habilitados y son completamente innecesarios ¿Qué te parece si los eliminas?

[Ejercicio] Mejorando la Tabla Pivote
00:29

Durante esta clase crearás todas las rutas para gestionar (mostrar, crear, actualizar y eliminar) los tres diferentes recursos que conforman tu API RESTful (profesores, estudiantes, cursos), junto con los cinco controladores necesarios para responder a cada operación sobre los recursos así:

  • El método index => Mostrar todos los recursos asociados => Responde al método GET.
  • store => Almacenar un nuevo recurso => Responde al método POST.
  • show => Mostrar un recurso específico => Responde al método GET.
  • update => Actualizar un recurso existente => Responde al método PATCH/PUT.
  • delete => Eliminar un recurso existente => Responde al método DELETE.
Creando las Rutas REST y los Controladores
12:08
+
Implementando las Operaciones Para Recursos Simples de la API RESTful
4 Lectures 29:56

Durante esta clase implementarás las funciones que permiten mostrar los datos relativos a los recursos simples de la API RESTful (Profesores, Cursos y Estudiantes).

Los métodos index y show responden al método GET de HTTP.

Recuerda:

  1. El método index permite mostrar TODOS los recursos solicitados.
  2. El método show permite mostrar un recursos según el identificador recibido (si existe).
Implementando las Operaciones Para Mostrar Recursos Simples
06:49

Durante esta clase implementarás las funciones que permiten insertar o crear recursos simples, es decir los NO anidados (Profesor y Estudiante).

El método storage POST de HTTP y se encarga de insertar o almacenar nuevos recursos en la base de datos.

Implementando las Funciones Para Insertar Recursos Simples
07:59

Durante esta clase implementarás las funciones que permiten editar/actualizar recursos simples (Profesor y Estudiante).

El método update responde a los métodos PUT/PATCH del protocolo HTTP y se encargam de editar los valores de un recurso.

Nota: Los métodos PUT y PATCH, reciben los valores usando x-www-urlencode en lugar de form-data (como lo hace el método POST), esto se debe a la manera en la que está pensado el protocolo HTTP y su implementación en PHP

Implementando las Funciones Para Editar Recursos Simples
08:06

Durante esta clase implementarás las funciones que permiten eliminar recursos simples (Profesor y Estudiante).

El método delete responde al método DELETE de HTTP y se encarga de remover un recurso existente.

Nota: Al momento de eliminar hay que ser muy cuidadosos con las claves foráneas, pues un curso no puede ser eliminado sin antes desvincular los estudiantes del mismo y un profesor no puede ser eliminado sin antes remover todos los cursos que éste dicta.

Implementando las Funciones Para Eliminar Recursos Simples
07:02
+
Implementando las Operaciones Para Recursos Anidados de la API RESTful
4 Lectures 26:54

Durante esta clase implementarás las funciones que permiten mostrar los datos relativos a los recursos anidados, es decir:

  1. Mostrar los estudiantes de un curso y
  2. Mostrar los cursos de un educador

El método index responde al método GET de HTTP.

Recuerda:

  • El método index permite mostrar TODOS los recursos solicitados.
Implementando las Operaciones Para Mostrar Recursos Anidados
05:41

Durante esta clase implementarás las funciones que permiten insertar o crear recursos anidados, para crear un curso asociándolo a un profesor y agregar un estudiante a un curso.

El método storage POST de HTTP y se encarga de insertar o almacenar nuevos recursos en la base de datos.

Implementando las Funciones para Insertar Recursos Anidados
09:50

Durante esta clase implementarás las funciones que permiten actualizar o editar recursos anidados (un curso asociado a un profesor).

El método update responde a los métodos PUT y PATCH de HTTP y se encarga de actualizar los valores de un recurso existente.

Nota: PHP en general presenta ciertos problemas al recibir valores con los métodos PUT y PATCH, por lo que se envían (sólo por fines prácticos) como parametros en al URL. Para fines reales se recomienda usar el método POST o url-encode.

Implementando las Funciones para Editar Recursos Anidados
04:39

Durante esta clase implementarás las funciones que permiten eliminar recursos anidados (eliminar un curso asociado a un profesor o remover un estudiante de un curso).

El método delete responde al método DELETE de HTTP y se encarga de remover un recurso existente.

Nota: Al momento de eliminar hay que ser muy cuidadosos con las claves foráneas, pues un curso no puede ser eliminado sin antes desvincular los estudiantes del mismo y un profesor no puede ser eliminado sin antes remover todos los cursos que éste dicta.

Implementando las Funciones para Eliminar Recursos Anidados
06:44
+
Seguridad y Validación de Peticiones
4 Lectures 24:46

Durante esta clase conocerás OAuth2, un mecanismo para la validación de peticiones que permite aumentar la seguridad de la API RESTful y tener un control más estricto y detallado del acceso a los recursos de la API.

Preview 05:44

Durante esta clase vas a agregar el servidor de OAuth2 como una dependencia del proyecto, para luego instalarla correctamente al interior del proyecto con todas sus migraciones (tablas) y archivos de configuración.

Obteniendo e Instalando el Servidor de OAuth2 en Lumen
04:38

Durante esta clase vas a configurar el servidor de OAuth, agregando el "grant_type" para generar los access_token, correr las migraciones, junto con la creación de clientes de prueba para la API.

Configurando y Probando el Servidor de OAuth2
09:05

Durante esta clase vas a asociar las rutas u operaciones protegidas de los recursos por medio de los middleware de OAuth2 y los controladores.

Un middleware es un mecanismo que se ejecuta antes de atender una petición. En Lumen, es posible ejecutar los middleware en cada petición, o en momentos específicos.

Protegiendo los Recursos Usando access_token de OAuth2
05:19
+
Ultimando Detalles
3 Lectures 14:29

Es natural que algo pueda fallar en algún punto de la API RESTful y por tal motivo es necesario controlar estos errores por medio de excepciones.

Control de Errores y Excepciones en la API RESTful
06:45

Durante la realización del curso, al momento de crear cursos automáticamente, éstos quedan asignados a un único profesor, así que para tener un comportamiento más natural en la base de datos, vamos a asignar aleatoriamente el id del profesor, pero para cada uno de los cursos y no para todos :)

Corrigiendo el Seeder de Cursos (id aleatorio del profesor)
04:24

Después del desarrollo de la API, algunas cosas han perdido su "eficiencia" original, por lo que vamos a realizar algunas pruebas de velocidad de nuevo, para dejar Lumen funcionando al 100% de su capacidad de nuevo.

Preview 03:20
+
Actualizando a Lumen 5.2
1 Lecture 09:06

Aprende a actualizar tu proyecto a la versión 5.2 de Lumen y tener un mejor rendimiento

Actualizando a Lumen 5.2
09:06
+
¡Gracias!
1 Lecture 01:05

¡Descuida! Nada ha terminado, el curso seguirá teniendo nuevas clases, nuevos contenidos y por supuesto siempre estaré al pendiente de tus preguntas, comentarios y sugerencias.

¡Conclusiones, Recomendaciones y Agradecimiento!
01:05
About the Instructor
JuanD MeGon
4.4 Average rating
1,413 Reviews
6,392 Students
12 Courses
Engineer, Web Developer & Premium Instructor

I enjoy transmitting knowledge and skills to the people through classes and contents. Then, see how they build their projects and tools using the concepts learned.

Continually work on improving my speech, looking for the best way to reach out the students with the central concepts and skills, I love easy but effective ways to transmit every single idea.

I appreciate every minute developing, especially when I can use my skills to implement projects that can help other developers to learn or to make their job and lives easier.

I am constantly looking to work in new projects to leverage my skills and improving the lives of people with more facilities to share the experiences and findings with my students then.

I am excited to contribute to a better world teaching people new skills and, in the way, learn through the experiences and issues of them to improve our skills together.