API RESTful con Laravel 5.4: Guía Definitiva
4.7 (67 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.
357 students enrolled
Wishlisted Wishlist

Please confirm that you want to add API RESTful con Laravel 5.4: Guía Definitiva to your Wishlist.

Add to Wishlist

API RESTful con Laravel 5.4: Guía Definitiva

Domina las características más difíciles y requeridas para una verdadera API RESTful - Paginación, Caché, HATEOAS y más
4.7 (67 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.
357 students enrolled
Created by JuanD MeGon
Last updated 5/2017
Spanish
Current price: $10 Original price: $115 Discount: 91% off
30-Day Money-Back Guarantee
Includes:
  • 11.5 hours on-demand video
  • 6 Articles
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Crear tus propios proyectos con Laravel (no sólo APIs RESTful)
  • Usar al máximo tus herramientas de trabajo (Sublime Text 3, Git, Github, Composer, PHP artisan y Laravel)
  • Generar y mantener la estructura de la base de datos de manera automatizada con Laravel y la consola PHP Artisan
  • Utilizar de manera efectiva PHP Artisan y sé mucho más eficiente
  • Crear y configurar tu propio entorno de desarrollo local
  • Configurar adecuadamente tus entornos de trabajo en tus proyectos
  • Manejar los métodos/verbos principales de HTTP para una API RESTful
  • Utilizar herramientas profesionales gratuitas para mejorar tu productividad
View Curriculum
Requirements
  • Es muy recomendable dominio básico de Programación orientada a objetos
  • Nociones fundamentales de PHP (clases, funciones, métodos, traits, herencia)
Description

La Guía absoluta para la creación de una verdadera API RESTful con Laravel.

¡Este curso hace uso de la versión más reciente de Laravel! Laravel 5.4

No, de verdad, no encontrarás un curso como este en ninguna otra parte y mucho menos en español.


No esperes más para ser experto en desarrollo de APIs RESTful con Laravel. Únete ahora al curso y nos vemos en clases.


En este curso aprende a desarrollar una verdadera y completa API RESTful profesional, usando la más reciente versión de Laravel para PHP.


Aprovecha ahora, el precio del curso aumentará el 31 de Mayo.


Laravel es el framework de PHP más popular, con más de 20 millones de descargas a la fecha y muchísimos proyectos a nivel empresarial y personal en nivel mundial.

¿Por qué Laravel?

Porque es sencillamente un framework hecho por programadores y para programadores, expresivo, sencillo, intuitivo y potente. Millones de programadores de PHP lo usan y lo dominan cada vez más en todo el mundo; no te quedes atrás.

En cada versión nueva de Laravel se incluyen muchos cambios que hacen a este framework cada vez mejor, más simple, amigable con el programador y a la vez mucho más potente.

En la versión 5.4 de Laravel se han incluido enormes mejoras y todas ellas son usadas en su totalidad a lo largo del curso.

Durante el curso dominarás la estructura completa de Laravel, junto con las nuevas características incluidas en la versión más reciente.

En el curso aprenderás esto sobre Laravel y para tu API RESTful:

  • Uso de PHP artisan para la generación de código y componentes
  • Uso y creación de Middleware
  • Controladores de tipo recurso (ideales para las APIs RESTful)
  • Respuestas en formato JSON completamente compatibles
  • Validación de peticiones desde controladores
  • Manejo y control de todo tipo de excepciones y errores
  • Implementación de operaciones complejas que implican dos y hasta tres recursos/modelos
  • Inyección de dependencias y de modelos
  • Generación de la estructura de la base de datos por medio de migraciones
  • Inserción automática de datos aleatorios en la base de datos por medio de factories y seeders
  • Validación de usuarios, por medio de sesiones y de access_token ¡Sí Ambas!
  • Uso de OAuth2 para la seguridad de la API RESTful, usando ¡Laravel Passport!
  • Paginación de resultados
  • Uso de parámetros de URL para ejecutar acciones
  • Ordenamiento de resultados por medio de parámetros de URL
  • Filtrado de resultados usando parámetros de URL
  • Cacheo de respuestas
  • Limitación de peticiones
  • Uso de HATEOAS (Una verdadero API RESTful debe usar HATEOAS)
  • Uso de PHP Fractal para la transformación de respuestas
  • ¡¡Muchísimo más!!



Puedes darle una mirada a la lista completa de contenidos más abajo, para obtener más detalles.


Crearás una API verdaderamente RESTful desde cero y paso a paso, siguiendo la arquitectura REST y la construcción adecuada de URLs para identificar acciones y recursos usando los controladores para recursos de Laravel.

Exprime al máximo las características de tus herramientas de trabajo (Sublime Text 3, Git, Github, Laravel, Composer, PHP artisan) y sé más productivo para un desarrollo ágil.

Verás cómo desarrollar un proyecto local en tu sistema haciendo un uso óptimo de todas tus herramientas.

Aprende a usar PHP artisan para generar estructuras de código de forma automática y ahorrar tiempo y esfuerzo de desarrollo.

Construye una completa API RESTful con Laravel que responda a múltiples 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 bonus que se agregarán constantemente al curso (dale una mirada a la lectura 186 para ver lo que viene pronto).

Al finalizar este curso serás capaz de desarrollar tu propia y verdadera API RESTful con Laravel y PHP de una manera efectiva y con las mejores prácticas, explotando al máximo las facilidades proporcionadas por este framework para la correcta y adecuada implementación de tus proyectos.

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

Who is the target audience?
  • Este curso es para todos los amantes del desarrollo web con PHP
  • Este curso es para todos aquellos que necesiten desarrollar su propia API completamente RESTful
  • Si buscas actualizarte a la versión más reciente de Laravel (Laravel 5.4)
  • Si deseas hacer un desarrollo completo de tus proyectos y tu API RESTful con Laravel 5.4
  • Si quieres construir tu propia API RESTful totalmente funcional y paso a paso
  • Si necesitas mantener tus habilidades al día y ser competitivo
Curriculum For This Course
Expand All 187 Lectures Collapse All 187 Lectures 11:42:29
+
Introducción
1 Lecture 01:56

Conoce más de cerca al instructor, su experiencia y conocimientos y las motivaciones para la construcción de este curso.

Preview 01:56
+
Descargando e Instalando las Herramientas Requeridas
8 Lectures 21:25

XAMPP es un proyecto multi-plataforma que permite administrar fácilmente diferentes servicios como Apache, MySQL, PHP, entre otros.

Durante esta clase los instalaremos, principalmente para usar PHP en el sistema.

Descargando e Instalando PHP con XAMPP
03:23

Composer permite instalar y administrar las dependencias de múltiples proyectos PHP, lo cual incluye Laravel.

Durante esta clase verás cómo a partir de la instalación de PHP de la clase anterior se puede instalar composer fácilmente.

Descargando e Instalando Composer
03:35

Virtual Box es un proyecto de Oracle muy popular para la fácil virtualización del hardware, permitiendo la creación de máquinas virtuales de cualquier tipo al interior de tu propio sistema.

Descargando e Instalando Virtual Box
02:06

Vagrant es un proyecto que te ayudará a crear máquinas virtuales completamente configuradas y preparadas para diferentes tareas en Virtual Box muy fácilmente.

Descargando e Instalando Vagrant
02:11

Sublime Text 3 es la versión reciente de uno de los editores de código más populares. Se usa para el desarrollo en múltiples lenguajes de programación y cuenta con una comunidad muy activa que brinda infinidad de plugins o paquetes adicionales para mejorar muchísimo más sus funcionalidades.

Descargando e Instalando Sublime Text 3
02:25

Por medio de Git Shell podrás ejecutar múltiples comandos avanzados que normalmente no está disponibles en sistemas Windows. Es muy recomendable instalar esta herramienta para seguir el curso sin problemas y acceder a una gran variedad de comandos que no son disponibles de forma nativa en WIndows.

Si usas otro sistema operativo, puedes omitir este paso, sin embargo, también te puede ser de gran ayuda.

Descargando e Instalando Github Shell
03:03

Node es un sistema principalmente útil para tareas relacionadas con el frontend. Principalmente lo instalaremos, para tener acceso a NPM el cual nos facilita la gestión de dependencias para el frontend. Es como composer, pero en lugar de PHP, es para CSS y JavaScript.

Descargando e Instalando Node y NPM
02:42

Postman es una herramienta muy popular en el mundo de las APIs. Por medio de este programa, podremos realizar peticiones de todo tipo a nuestra API para comprobar todas las funcionalidades clase a clase.

Descargando e Instalando Postman
02:00
+
Creando y Estableciendo la Estructura Inicial de la API RESTful
6 Lectures 21:18

Durante esta clase aprenderás a obtener la estructura básica inicial de cualquier proyecto Laravel, por medio de composer.

Preview 04:02

Homestead es un box de vagrant que nos permitirá construir fácilmente una completa máquina virtual diseñada para proyectos de Laravel principalmente.

Homestead es un proyecto propio de la organización Laravel y se mantiene muy actualizado y con grandes aportes de la comunidad.

Agregando Homestead Como una Dependencia del Proyecto
01:19

Por medio de un archivo llamado Homestead.yaml, al interior de nuestro proyecto, podrás configurar fácilmente las caracterísitcas principales de Homestead, como dirección IP, nombre de la base de datos, ubicación del proyecto, cantidad de memoria y de CPUs, entre otros.

Estableciendo la Configuración de Homestead
04:07

Para poder usar el dominio virtual asignado a la máquina virtual de Homestead, es necesario indicarle a nuesotro sistema, dónde enviar las peticiones una vez que intentemos acceder al dominio elegido (apirestful.dev)

Agregando el Dominio de Desarrollo al Sistema
03:26

Durante esta clase conocerás los principales comandos necesarios para gestionar tu máquina virtual con Vagrant.

Comandos para la creación, destrucción, inicio y apagado, junto con las conexión a través de SSH a la misma.

Se recomienda el uso del Git shell, especialmente en Windows, para la conexión SSH.

Usando Vagrant para Controlar la Máquina Virtual
04:49

Conéctate a tu máquina virtual por medio de vagrant ssh y una vez adentro, averigua cómo salir de ella fácilmente.

Averigua cómo salir de la máquina virtual
1 question

Averigua el modo en el que se puede usar Composer para mantener las dependencias del proyecto actualizadas, sin correr el riesgo de instroducir cambios que dañen el correcto funcionamiento del proyecto.

Preview 03:35
+
Configurando y Usando Sublime Text 3
6 Lectures 16:51

El package control, es el paso inicial que nos abre las puertas a un enorme mundo de paquetes y plugins para sublime. Por medio de este, se pueden instalar todos los paquetes disponibles para Sublime Text.

Instalando el Package Control
02:27

Aprende cómo crear y gestionar tus proyectos con Sublime Text 3, para poder mantener tus espacio de desarrollo ordenado y acceder fácilmente a tu cóigo.

Creando y Usando Proyectos
02:05

SublimeCodeIntel es una herramienta propia para Sublime Text que facilita muchísimo la navegación a través de la definición de diferentes clases, métodos y variables tanto de nuestro código como del código interno de Laravel u otros paquetes.

Instalando y Usando SublimeCodeIntel
03:07

Al instalar SideBarEnhencement podrás acceder a funcionalidades avanzadas en la barra lateral, tales como búsqueda avanzada, fácil creación, eliminación y gestión de archivos ey muchas más.

Instalando y Usando SideBarEnhancement
01:39

Por medio de SublimeLinter para PHP, podrás detectar fácilmente errores en el código, ayudando así a un proceso de desarrollo más confiable y rápido.

Instalando y Usando SublimeLinter para PHP
02:50

Con PHPCompanion, obtienes acceso a múltiples funcionalidades entre las cuales, se destaca la posibilidad de automáticamente resolver la ubicación de las definiciones que se tienen el las sentencias "use" de tu proyecto. Evitando así tener que acceder a ellas manualmente o tener que memorizarlas.

Instalando y Usando PHPCompanion
04:43
+
Comprendiendo el Caso de Estudio para la API RESTful
2 Lectures 10:07

Vamos uno a uno con los diferentes modelos/entidades/recursos que conformarán la API RESTful, sus atributos nombres, características y relaciones entre ellos.

Preview 06:26

Los End-Points son todas las posibles rutas o URLs que la API va a propocionar para brindar acceso a difentes opciones, recursos y utilidades.

Durante esta clase verás la lista completa de todas ellas, cómo funcionan, sus nombres, acciones, métodos/verbos y algunos detalles más.

Preview 03:41
+
Descubriendo y Configurando la Estructura del Proyecto
4 Lectures 19:01

Durante esta clase podrás familiarizarte con los componenets fundamentales de Laravel, la ubicación de los elementos más elementales como modelos, vistas y controladores, entre muchas más.

Descubriendo la Estructura de Laravel
06:29

PHP Artisan, es uno de los atractivos de Laravel. Permite generar código, junto con la interacción directa con la aplicación a partir de comandos simples de consola.

Durante esta clase podrás ver cómo se accede a la lista de comandos de PHP Artisan, cómo obtener ayuda específica para un comando cualquiera y mucho más.

Descubriendo PHP Artisan
04:17

Las variables de entorno, son valores que normalmente deberían cambiar entre un entorno y otro, por ejemplo, el acceso a la base de datos seguramente es diferente en tu equipo local que en tu servidor de producción.

En esta clase verás como funcionan estas variables, dónde se encuentran y cómo se usan desde los diferentes archivos de configuración de Laravel.

Configurando las variables de entorno
03:38

Durante esta clase verás los cambios principales que ha sufrido el sistema de rutas en las versiones más recientes de Laravel y cómo ahora puedes separar correctamente tu rutas según el tipo de aplicación que estés desarrollando.

Comprendiendo y Configurando las Nuevas Rutas
04:37
+
Creando la Estructura Inicial de la API RESTful
4 Lectures 19:41

Estamos a punto de comenzar con el código y es  muy posible que en caminos surjan errores.

Descubre una buena forma de resolver errores comunes y tener una buena guía del código original del curso.

Preview 02:22

Durante esta clase verás cómo generar la estructura inicial de los modelos del sistema, junto con sus migraciones por medio del uso de comandos de php artisan.

Recuerda que el orden de las migraciones es muy importante, así que debes prestar atención al orden en el que se crea cada modelo con sus respectivas migraciones.

Creando la Estructura Inicial para los Modelos y sus Migraciones
05:52

Como en la clase anterior, también es posible crear la estructura inicial de los controladores por medio de comandos de php artisan.

Durante esta clase verás de modo especial la creación de controladores de tipo recurso que permiten implementar fácilmente operaciones CRUD sobre los recursos.

Creando la Estructura Inicial de Controladores
03:54

Así como sucede con los controladores de recurso, también existen rutas de tipo de recurso. Como es de esperarse, estas rutas facilitan la conexión de una URL y un recurso dados con una acción específica de un controlador.

De modo especial, podrás ver cómo ciertas rutas sólo hacen uso de un pequeño conjunto de métodos y no de todos ellos.

Creando las Rutas de Recurso para Cada Controlador
07:33
+
Implementando los Modelos y sus Relaciones
5 Lectures 20:13

Durante esta clase agregarás las propiedades del modelo Category, indicando cuales de los atributos de este modelo pueden ser asignados de manera masiva $fillable.

Preview 02:08

Durante esta clase agregarás las propiedades del modelo Product, indicando cuales de los atributos de este modelo pueden ser asignados de manera masiva $fillable, junto con aquellos que deberían estar ocultos $hidden

Implementando las Propiedades para Product
04:04

Durante esta clase agregarás las propiedades para el modelo Transaction, indicando una vez más cuales de los atributos de este modelo pueden ser asignados de manera masiva $fillable.

Implementando las Propiedades para Transaction
01:23

Durante esta clase completarás la lista de atributos asignables ($fillable) acorde al diseño del sistema de la API, junto con los atributos que tendrán que ser ocultos $hidden.

Implementando las Propiedades de User
06:38

En esta clase podrás construir las diferentes relaciones entre cada modelo. Podrás aprender relaciones de uno a muchos y de muchos a muchos, junto con la importancia de la clave foránea y en cual modelo debe ser asignada.

Implementando las Relaciones Entre los Modelos
06:00
+
Generando la Estructura de la Base de Datos Usando Migraciones
6 Lectures 17:04

A partir de Laravel 5.4 se cambió el charset de la base de datos por utf8-mb4, haciéndolo más pesado de lo normal. Esto causa algunas inconsistencias con algunas versiones anteriores de MySQL y MariaDB para lo cual es necesario implementar varias soluciones.

Resolviendo un Problema Común con la Base de Datos
03:20

En esta clase agregarás todos los atributos requeridos para la tabla users. Lo cual podrás hacer programáticamente por medio de una migración propia para esta tabla.

Implementando la Migración Para Users
02:38

En esta clase agregarás los atributos que conforman tabla products, según el diseño de la API. Esto se puede hacer de modo programático con las migraciones creadas junto con el modelo.

Implementando la Migración Para Products
03:27

En esta clase agregarás todos los atributos requeridos para la tabla transactions. Lo cual podrás hacer programáticamente por medio de una migración propia para esta tabla.

Implementando la Migración Para Transations
01:24

En esta clase agregarás los atributos que conforman tabla categories, según el diseño de la API. Esto se puede hacer de modo programático con las migraciones creadas junto con el modelo.

Implementando la Migración Para Categories
01:33

Para resolver la relación de muchos a mucho existente entre product y category, es necesario crear una tabla pivote.

Esto se puede hacer fácilmente por medio de una migración. Recuerda que el orden en el nombre de la migración es muy importante.

Creando la Migración Para la Tabla Pivote
04:42
+
Creando Factories para Insertar Información en la Base de Datos
6 Lectures 28:31

Por medio de los factories, es posible generar de forma automática instancias realistas de los modelos, a partir de datos falsos (generador con faker).

En este clase verás cómo construir el factory para generar instancias de usuarios.

Creando el Factory para User
04:52

Construye el factory para el modelo category y de ese modo poder generar instancias automáticamente.

Creando el Factory para Category
01:43

Construye instancias de producto, a partir de datos falsos d emodo automatizado, por medio del factory que implementarás en esta clase.

Creando el Factory de Product
04:33

Crea transacciones de modo automatizado por medio de datos generados aleatoriamente y relacionandolos con otras instancias, automáticamente, desde el factory para transaction.

Creando el Factory de Transaction
04:34

Una vez creados los factories, es necesario usarlos desde el DatabaseSeeder, para indicar el orden en el que estos se ejecutarán y la cantidad de instancias a crear para cada modelo.

Usando los Factories Desde el DatabaseSeeder
07:32

Una vez creados los factories y el seeder que los use, es momento de ejecutar todo el proceso, por medio de un comando de php artisan.

En el camino, verás cómo resolver algunos errores que se cometieron en el proceso.

Cómo Ejecutar Las Migraciones y El Seeder
05:17
27 More Sections
About the Instructor
JuanD MeGon
4.5 Average rating
995 Reviews
5,204 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 deloping, 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.