4.74 (1120 reviews)
☑ 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
¿Necesitas construir una API RESTful para un proyecto, pero no sabes por dónde comenzar? No te preocupes, sé lo que se siente y por eso te voy a guiar por el proceso completo de construir una verdadera API RESTful usando Laravel.
¡Únete a los más de 3,000 estudiantes que ya están tomando el curso, construyendo su API RESTful con Laravel, y aprendiendo en cada clase!
Nota: Este curso puede ser tomado, y se recomienda hacerlo, usando la versión más reciente de Laravel. Además, incluye múltiples secciones que muestran cómo actualizar a las nuevas versiones de Laravel, en caso de que hayas preferido usar una versión anterior de Laravel.
La guía absoluta para la creación de una verdadera API RESTful con Laravel.
No encontrarás un curso como este en ninguna otra parte y mucho menos en español. Usarás Laravel para implementar una API RESTful completa y con todo lo que una verdadera API RESTful requiere.
A lo largo del curso, construirás una API RESTful con Laravel para sistema de mercado, donde los usuarios pueden comprar y vender diferentes productos con diferentes categorías y transacciones. Explorarás los diferentes tipos de relaciones (uno a muchos, muchos a muchos), junto con los paquetes principales para construir una API RESTful completa usando Laravel.
No esperes más para ser experto en desarrollo de APIs RESTful con Laravel. Únete ahora al curso y nos vemos en clases.
Recuerda: El curso es actualizado constantemente para usar las últimas versiones de Laravel. Así que siéntete libre de usar la versión que prefieras (especialmente versión más reciente de Laravel).
Laravel es el framework de PHP más popular, con millones de descargas y muchísimos proyectos de alto nivel implementados. Además, proporciona excelentes facilidades para desarrollar APIs RESTful y cualquier otro proyecto.
¿Qué es una API RESTful?
Una API RESTful se puede entender como un servicio web que funciona enteramente sobre HTTP. Una buena API RESTful sigue las prácticas dictadas por REST (REpresentationas State Transfer), permitiendo orientar el diseño a los recursos (usuarios, cursos, transacciones, productos, etc.) y proporcionando respuestas estandarizadas basados en los diferentes códigos de estado de HTTP.
¿Por qué Laravel?
Porque es un framework hecho por programadores y para programadores, expresivo, sencillo, intuitivo y potente., que además proporcionar características muy útiles para desarrollar una API RESTful. Millones de programadores de PHP lo usan y lo dominan cada vez más en todo el mundo; no te quedes atrás.
Durante el curso dominarás la estructura completa de Laravel, junto con las nuevas características incluidas en la versión más reciente, mientras que además, desarrollas una verdadera y completa API RESTful.
En el curso aprenderás esto sobre Laravel sobre APIs RESTful con Laravel:
Uso de PHP artisan de Laravel para la generación de código y componentes
Uso y creación de Middleware de Laravel
Controladores y rutas de tipo recurso de Laravel (ideales para las APIs RESTful)
Respuestas en formato JSON completamente compatibles con cualquier cliente
Validación de peticiones desde los controladores de Laravel
Manejo y control de todo tipo de excepciones y errores desde el handler de Laravel
Implementación de operaciones complejas que implican dos y hasta tres recursos/modelos
Inyección de dependencias y de modelos en Laravel
Generación de la estructura de la base de datos por medio de migraciones de Laravel
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í ambos!
Uso de OAuth2 para la seguridad de la API RESTful, usando ¡Laravel Passport!
Paginación de resultados, usando colecciones de Laravel
Uso de parámetros de URL para ejecutar acciones (con un enfoque RESTful)
Ordenamiento de resultados por medio de parámetros de URL, siguiendo la filosofía REST
Filtrado de resultados usando parámetros de URL siguiendo el enfoque RESTful
Cacheo de respuestas, usando el sistema de cache de Laravel
Limitación de peticiones, usando el middleware de Laravel
Implementación de HATEOAS desde Laravel (una verdadera API RESTful debe usar HATEOAS)
Uso de PHP Fractal para retornar respuestas compatibles con cualquier tipo de cliente
Uso de cabeceras CORS en la API para permitir el uso desde JavaScript y navegadores web
Uso de Policies y Gates de Laravel para controlar el acceso de los usuarios a los recursos de la API RESTful
¡¡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. Todo esto con la ayuda de Laravel.
Tendrás acceso de por vida a las clases bonus que se agregarán constantemente al curso (dale una mirada a la sección final para ver lo que viene).
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 Laravel para la correcta y adecuada implementación de tus proyectos.
No esperes más para ser experto en desarrollo de APIs RESTful usando Laravel. Nos vemos en clases.
Introducción
Acerca del Instructor y el Curso
Sacando Provecho del Curso y sus Contenidos
Descarga e Instala las Herramientas para Desarrollar la API RESTful con Laravel
Descargando e Instalando PHP con XAMPP
Descargando e Instalando Composer
Descargando e Instalando Virtual Box
Descargando e Instalando Vagrant
Descargando e Instalando Sublime Text 3
Descargando e Instalando Github Shell
Descargando e Instalando Node y NPM
Descargando e Instalando Postman para Probar la API RESTful
Creando y Estableciendo la Estructura Inicial de Laravel para la API RESTful
Obteniendo Laravel Usando Composer
Agregando Homestead de Laravel Como una Dependencia del Proyecto
Laravel 6: Un paso adicional
Estableciendo la Configuración para Homestead de Laravel
Agregando el Dominio de Desarrollo al Sistema
Usando Vagrant para Controlar la Máquina Virtual Homestead de Laravel
Averigua cómo salir de la máquina virtual
Mantén el Proyecto de Laravel Actualizado
Configurando y Usando Sublime Text 3 para Desarrollar la API RESTful con Laravel
Instalando el Package Control
Creando y Usando Proyectos
Instalando y Usando SublimeCodeIntel para Acceder las Clases de Laravel y la API
Instalando y Usando SideBarEnhancement
Instalando y Usando SublimeLinter para PHP
Instalando y Usando PHPCompanion para Importar Definiciones de Laravel
Comprendiendo el Caso de Estudio para la API RESTful
Comprendiendo los Recursos (Modelos) y Relaciones de la API RESTful
Comprendiendo los “End-Points” Principales para la API RESTful
Descubriendo y Configurando la Estructura de Laravel para la API RESTful
Descubriendo la Estructura de Laravel
Descubriendo PHP Artisan
Configurando las variables de entorno de Laravel
Comprendiendo y Configurando el Sistema de Rutas de Laravel para APIs RESTful
Creando los Componentes Iniciales de Laravel para la API RESTful
Cómo Resolver Errores Comunes Durante el Desarrollo de la API RESTful
Creando la Estructura Inicial de Laravel para los Modelos y sus Migraciones
Creando la Estructura Inicial de Laravel para Controladores
Creando algunos End-Point para la API RESTful Usando Rutas de Recurso de Laravel
Implementando los Modelos de la API RESTful y sus Relaciones con Eloquent
Implementando las Propiedades de Category
Implementando las Propiedades para Product
Implementando las Propiedades para Transaction
Implementando las Propiedades de User
Implementando las Relaciones Entre los Modelos
Generando la Estructura de la Base de Datos Usando Migraciones de Laravel
Resolviendo un Problema Común con la Base de Datos y Laravel
Implementando la Migración Para Users
Implementando la Migración Para Products
Implementando la Migración Para Transactions
Implementando la Migración Para Categories
Creando la Migración Para la Tabla Pivote
Creando Factories de Laravel para Insertar Información en la Base de Datos
Creando el Factory para User
Creando el Factory para Category
Creando el Factory de Product
Creando el Factory de Transaction
Usando los Factories Desde el DatabaseSeeder de Laravel
Cómo Ejecutar Las Migraciones y El Seeder Usando Artisan de Laravel
Implementando las Operaciones para UserController
Mostrando la Lista de Usuarios con el Método Index de UserController
Mostrando un Usuario con el Método Show de UserController
Creando un Usuario con el Método Store de UserController
Editando un Usuario con el Método Update de UserController
Removiendo un Usuario el Método Destroy de UserController
Implementando las Operaciones para Buyer
Implementando el Método Index en BuyerController
Implementando el Método Show en BuyerController
Implementando las Operaciones para Seller
Implementando el Método Index en SellerController
Implementando el Método Show en SellerController
Mejorando las Operaciones Actuales de la API RESTful
Definiendo Mutadores y Accesores en los Modelos
Generalizando las Respuestas de la API
Haciendo Uso de los Métodos Generalizados
Usando los Métodos Generalizados para Respuestas de Error
Manejando Errores y Excepciones con el Handler de Laravel
Retornando los Errores de Validación en Formato JSON
Retornando el Error de “Modelo No Encontrado” como JSON
Controlando Excepciones de Autenticación
Controlando Excepciones de Autorización
Controlando Excepciones de No Encontrado (HTTP)
Controlando Excepciones de Método No Permitido
Controlando Diferentes Excepciones de HTTP
Manejando la Eliminación de Recursos Relacionados
Manejando Excepciones Inesperadas
Inyección Implícita de Modelos en Rutas y Métodos
Usando Inyección de Modelos en Algunos Métodos
Resolviendo la Inyección de Buyer Usando “Global Scopes”
Resolviendo la Inyección de Seller Usando “Global Scopes”
Implementando “Soft Deleting” en Todos los Modelos
Modificando las Migraciones para Usar “Soft Deleting·
Preparando Todos los Modelos para Usar “Soft Deleting”
Implementando las Operaciones para Category
Implementando el Método Index de CategoryController
Implementando el Método Show de CategoryController
Implementando el Método Store de CategoryController
Implementando el Método Update de CategoryController
Implementando el Método Destroy de CategoryController
Implementando las Operaciones para Product
Implementando el Método Index para ProductController
Implementando el Método Show para ProductController
[Ejercicios] Implementando las Operaciones para Transaction
Implementando el Método Index para TransactionController
Implementando el Método Show para TransactionController
Implementando las Operaciones Complejas con Transaction
Implementando el Método Index de TransactionCategoryController
Implementando el Método Index de TransactionSellerController
Implementando las Operaciones Complejas con Buyer
Implementando el Método Index de BuyerTransactionController
Implementando el Método Index de BuyerProductController
Implementando el Método Index de BuyerSellerController
Implementando el Método Index de BuyerCategoryController
Implementando las Operaciones Complejas con Category
Implementando el Método Index para CategoryProductController
Implementando el Método Index para CategorySellerController
Implementando el Método Index para CategoryTransactionController
Implementando el Método Index para CategoryBuyerController
Removiendo la Tabla Pivote de los Resultados
Implementando las Operaciones Complejas con Seller
Implementando el Método Index para SellerTransactionController
Implementando el Método Index para SellerCategoryController
Implementando el Método Index para SellerBuyerController
Implementando el Método Index para SellerProductController
Implementando el Método Store para SellerProductController
Implementando el Método Update para SellerProductController
Implementando el Método Destroy para SellerProductController
Implementando las Operaciones Complejas para Product
[Reto] Implementando la Operación Index de ProductTransaction
[Reto] Implementando la Operación Index de ProductBuyer
[Reto] Implementando la Operación Index de ProductCategory
Implementando la Operación Update de ProductCategory
Implementando la Operación Destroy de ProductCategory
Implementando la Operación Store de ProductBuyerTransaction
Manejando la Disponibilidad de Productos Usando Eventos
Agregando una Imagen a los Productos
Preparando la API para la Subida de Imágenes
Guardando la Imagen al Crear un Producto
Removiendo la Imagen al Eliminar un Producto
Actualizando la Imagen al Editar un Producto
Enviando Correos para la Verificación de Cuentas de Usuario
Preparando el Proyecto para el Envío de Correos
Implementando el Sistema de Verificación
Creando el Mailable para Usuarios Creados
Implementando el Mailable para Usuarios Creados
Enviar Correo de Verificiación Usando Eventos
Resolviendo un Problema con los Factories
Creando el Mailable para Validar un Nuevo Correo Electrónico
Implementando el Mailable de UserMailChanged
Enviar Verificación para Email Modificado Usando Eventos
Reenviando el Correo de Verificación
Manejando Acciones Propensas a Errores
Usando Mailables y Markdown
Los Middleware y el Limitador de Peticiones
Acerca de los Middleware y Cómo Funcionan
Creando un Middleware Personalizado
Acerca del Limitador de Peticiones
[Opcional] Personalizando la Respuesta para “Límite Excedido”
Transformando Respuestas por Seguridad y Compatibilidad
Acerca de las Transformaciones y Por Qué Usarlas
Preparando el Proyecto para la Transformación de Datos
Creando la Transformación para User
Creando la Transformación para Seller y Buyer
Creando la Transformación para Category
Creando la Transformación para Transaction
Creando la Transformación para Product
Relacionando los Modelos con su Transformación
Retornando las Nuevas Respuestas Transformadas
Ordenando y Filtrando Resultados Usando Parámetros de URL
Ordenando los Resultados Usando Cualquier Atributo
El Problema con las Respuestas Ordenadas
Mejorando las Transformaciones para Resolver el Problema
Resolviendo el Problema Usando las Transformaciones
Filtrando Respuestas Según Múltiples Atributos
Paginación de Resultados
Acerca de la Paginación
Paginando Colecciones
Permitiendo Tamaño de Página Personalizado
Caché de Resultados
Implementando el Sistema de Caché
El Sistema de Caché y los Parámetros de URL
Implementando HATEOAS Hypermedia Controls
¿Qué es HATEOAS y Por Qué Usarlo?
Implementando HATEOAS para Instancias de Category
Implementando HATEOAS para Instancias de Product
Implementando HATEOAS para Instancias de Transaction
Implementando HATEOAS para Instancias de User
[Ejercicio] Implementando HATEOAS para Instancias de Buyer
[Ejercicio] Implementando HATEOAS para Instancias de Seller
Las Transformaciones y las Validaciones
Comprendiendo Dos Problemas con Transformaciones y Validaciones
Creando y Usando un Middleware para Resolver el Problema
Implementando la Solución al Primer Problema Usando el Middleware
Mejorando las Transformaciones para Resolver el Segundo Problema
Mejorando el Middleware para Resolver el Segundo Problema
Preparando la API para Autenticación de Usuarios Usando Sesiones
¿Por Qué es Requerido en la API?
Laravel 6: Antes de continuar...
Creando la Estructura Adicional para Autenticación
Afinando Algunas Estructuras para Evitar Inconsistencias
Acerca de CSRF y Manejando Excepciones de CSRF
Retornando HTML y Redirecciones Cuando Sea Requerido
Implementando la Capa Inicial de Seguridad con Laravel Passport (OAuth2)
Acerca de OAuth2 y la Seguridad en las APIs
¿Qué es Laravel Passport?
Preparando el Proyecto para Usar Laravel Passport
Usando las Migraciones de Laravel Passport
Instalando Passport de Forma Definitiva en la API
Autenticando Usuarios por Medio de Tokens de la API
Registrando las Rutas Requeridas
Configurando el Sistema de Autenticación
Definiendo el Tiempo de Expiración de los Tokens
Usando client_credentials para Proteger Algunas Rutas
Cómo Obtener y Usar un Token Usando Client Credentials
Protegiendo las Demás Rutas
Usando el Grant Type Password
Preparando la API para Usar los Componentes de Passport
Usando el Componente para Gestionar Tokens Personales
Acerca de los Tokens Personales y Cómo Usarlos
Usando los Componentes para Gestionar Clientes de la API
Obteniendo un Token con un Código de Autorización
Usando el Grant Type Implícito
Usando los Refresh Tokens
Restringiendo Clientes de la API usando Scopes de OAuth2 con Laravel Passport
¿Qué son los Scopes de OAuth2?
Registro de Algunos Scopes Requeridos para la API
Registro de Middleware para Comprobar Scopes
Restringiendo las Acciones que Usan el Scope "purchase-product"
Restringiendo las Acciones que Usan el Scope "manage-products"
Restringiendo las Acciones que Usan el Scope "manage-account"
Restringiendo las Acciones que Usan el Scope "read-general"
Implementación de la Capa Final de Seguridad Usando Policies y Gates de Laravel
Acerca de la Capa Final de Seguridad
¿Qué son Policies y Gates de Laravel?
Implementando las Restricciones Sobre Buyer
Implementando las Restricciones Sobre Seller
Las Restricciones Sobre User
Implementando las Restricciones Sobre Transaction
Implementando las Restricciones Sobre Product
Permitiendo las Acciones a los Administradores
Permitir las Acciones Restantes Únicamente a Administradores
CORS en Laravel
Acerca de CORS
Instalando el Paquete de CORS para Laravel
Configuración del Paquete de CORS en Laravel
Permitiendo CORS Únicamente en la API
Permitiendo CORS en Respuestas de Error
Adiciones y Correcciones para la API RESTful con Laravel
Identificando un Usuario Autenticado en la API RESTful
[Opcional] Actualizando a Laravel 5.5
Acerca del Proceso de Actualización a Laravel 5.5
Actualizando a Laravel 5.5 Junto con las Dependencias
Actualizando el Código Acorde a Laravel 5.5
[Opcional] Actualizando a Laravel 5.6
Preparando el Entorno para Actualizar
Obteniendo Laravel 5.6
Instalando Dependencias Actualizadas
Resolviendo Detalles y Actualizando la Estructura
[Opcional] Actualizando a Laravel 5.7
Preparando el entorno de desarrollo para la actualización
Instalando Laravel 5.7 y actualizando las dependencias de la API RESTful
Actualizando los componentes y estructuras
[Opcional] Actualizando a Laravel 6
Actualizando el entorno de desarrollo
Obteniendo Laravel 6 y actualizando las dependencias
Resolviendo detalles para usar Laravel 6
Conclusión
Lista de Temas Pendientes
Gracias por Llegar Hasta Aquí
Un gran curso. Cada clase es breve y fácil de seguir (muy digerible para entender). He aprendido muchas cosas en este curso. Ahora seguiré con los otros cursos, Nuevamente Excelente!
Excelente curso, aunque seria bueno actualizar la versión utilizada ya que las versiones 7 y 8 de Laravel cambian muchas cosas, y seria bueno también enfatizar en estos aspectos, pero en general el curso es muy bueno
muy bien explicado, pude realizar algo que me parecia complicado o que me llevaria mucho tiempo gracias a su explicacion y siempre respondio mis dudas.
El curso esta muy bien, me gusta porque es muy practico y los ejecricios que se realizan durante el transcurso del mismo son faciles de realizar
Excelente curso, Juan es un excelente instructor, con el he aprendido mucho sobre Laravel, Muy recomendado este curso, no se va a decepcionar!
Excelente Curso, trabajo desde hace 4 años con Laravel, y aun así he aprendido muchas cosas que hasta ahora ignoraba.
Aunque he realizado el curso utilizando Laravel 6.11 y en algunos momentos he tenido problemas, lo he podido terminar completamente. La forma en la que está estructurado el curso es muy buena. La parte de autorizaciones me ha resultado un poco difícil de seguir, no obstante me ha ido funcionando todo. En definitiva recomiendo el curso a cualquiera que quiera empezar a utilizar Laravel. Saludos
Este curso me ha permitido desarrollar nuevas habilidades que pondré en práctica en un proyecto que tengo, es un curso muy bueno que ha cumplido con mis expectativas, lo super recomiendo.
Curso altamente enriquecido en contenido y agradecer al profesor por su pronta respuesta en cada una de mis preguntas.
Faltó al inicio explicar un poco más acerca de las tecnologías y software a usarse, me gustó como se explicó la sección 5, excelente.
El curso es muy bueno, y lo mejor es el esmero del instructor en contestar las dudas de sus alumnos. Sin duda 100% recomendado.
Excelente debería utilizar las nuevas características de laravel y dejar paquetes pero el curso esta bueno
Muy completo el curso, me ilustró en varios procedimientos que me facilitaron la creación y progreso de mis proyectos con laravel
La verdad es que no esperaba aprender tantas cosas de este curso. Me apunté para reforzar mi conocimiento sobre Laravel y creación de APIS, y gracias al autor he obtenido nuevos conocimientos a nivel general de Laravel que me servirán mucho en mis proyectos. Muchas Gracias.
Es un excelente curso, abarca los conceptos desde lo mas mínimo a lo mas complejo de las ApiRestfull y se usa en su totalidad las funcionalidades del Framework. El profesor posee un amplio dominio del tema y siempre esta presto para resolver las dudas. Lo único en contra es que esta hecho con laravel 5.4 y los que lo quieran tomar usando otras versiones de laravel se van a encontrar con algunos problemas en el camino. Pero con un poco de paciencia se pueden resolver. Yo acabo de terminar el curso con la versión 5.8