Crea tu API RESTful con Laravel, el Framework para PHP

Desarrolla una API RESTful en PHP con Laravel y desde cero. Domina PHP y RESTful con Laravel
4.4 (97 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.
522 students enrolled
$60
Take This Course
  • Lectures 50
  • Contents Video: 6.5 hours
    Other: 2 mins
  • Skill Level All Levels
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 1/2015 Spanish

Course Description

Completo curso de Laravel para RESTful.

¡Este curso cobre las versiones 5.0, 5.1 y 5.2!

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

Laravel es el framework de PHP más popular, con más de 15000 proyectos desarrollándose cada día con él.

¿Por qué Laravel?

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

En la versión 5.* de Laravel para PHP se han incluido nuevos conceptos como los Requests y los Middleware, principalmente, junto con cambios en la estructura y la funcionalidad de ciertos componentes, es un cambio radical de Laravel a su funcionamiento y ha hecho este framework aún más potente y simple que antes.

Y lo mejor es que durante el curso, aprenderás todo sobre la nueva estructura y los nuevos conceptos.

Aprenderás esto para Laravel y para tu API RESTful:

  • Las nuevas características de PHP artisan
  • Middleware.
  • Controladores de peticiones.
  • Validación de peticiones.
  • Controladores de recursos.
  • Controladores REST
  • Manejo y control de excepciones y errores
  • Migraciones
  • Seeds (Inserción automática en bases de datos)
  • Validación de usuarios
  • Validación sin estado (stateless)
  • Protección contra CSRF
  • Paginación de resultados

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 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.

Veremos cómo desarrollar un proyecto local en Windows con XAMPP (Apache y MySQL) y la adecuada configuración de herramientas. Veremos cómo llevar lo desarrollado en local a un entorno de producción en Linux, corriendo Nginx, PHP y MySQL.

Veremos cómo usar Laravel 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 bonus que se agregarán constantemente al curso.

Al finalizar este curso serás capaz de desarrollar tu propia API RESTful con Laravel 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 del proyecto.

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

What are the requirements?

  • Programación en PHP
  • Nociones básicas de programación orientada a objetos (clases, métodos y atributos)
  • Descargar SublimeText3 para Windows (Lo instalaremos durante el curso)
  • Descarga Composer para Windows (No lo instales, lo haremos en clase)
  • Descargar XAMPP para Windows (No lo instáles aún)

What am I going to get from this course?

  • Crea tus propios proyectos con Laravel 5
  • Exprime al máximo tus herramientas de trabajo (Sublime Text 3, Git, Github, Composer y PHP artisan)
  • Genera y mantén de manera automatizada la estructura de la base de datos con Laravel y la consola PHP Artisan.
  • Utiliza de manera efectiva PHP Artisan y sé mucho más eficiente
  • Mantén tu propio repositorio público para tus proyectos
  • Crea y configura tu propio entorno de desarrollo local
  • Elige las mejores prácticas para llevar tus proyectos a producción
  • Configura adecuadamente tus entornos de trabajo en tus proyectos
  • Maneja los métodos principales de HTTP para una API RESTful
  • Realiza desarrollo ágil de tus proyectos
  • Crea y mantén tu propio servidor de producción en Linux
  • Utiliza herramientas profesionales gratuitas para mejorar tu productividad
  • Obtén una vista preliminar de los resultados del curso en: http://cursoapi.juandmegon.com/vehiculos
  • Interactua con sistemas Windows y Linux de manera simultánea

What is the target audience?

  • Si buscas actualizarte de Laravel 4 a Laravel 5
  • SI quieres explotar al máximo las facilidades de Laravel 5
  • Si deseas hacer desarrollo ágil de proyectos con Laravel 5
  • SI quieres construir tu propia API totalmente funcional y fácil
  • Si buscas mantener proyectos en múltiples entornos y ponerlos en producción
  • Si deseas construir una API funcional siguiendo la especificación de REST
  • Si necesitas mantener tus habilidades al día y ser competitivo
  • Si necesitas compartir tus proyectos y ponerlos a disposición del público

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Preparando las herramientas locales
02:28

Aprende cómo funciona el curso y qué recomendaciones tengo para que lo puedas aprovechar al máximo y contribuir.

07:10

En esta clase veremos cómo instalar XAMPP en el entorno local Windows para correr Apache y MySQL.

05:55

En esta clase vamos a crear un dominio virtual en apache para emular las condiciones reales de nuestro proyecto.

10:04

Durante esta clase veremos cómo instalar Composer en nuestro entorno local Windows.

11:59

Durante esta clase veremos cómo utilizar y configurar los complementos para SublimeText3 que nos permitirán desarrollar rápidamente nuestro proyecto.

11:21

En esta clase veremos cómo descargar e instalar Git y Github en nuestro equipo local Windows.

01:52

En esta clase obtendremos la estructura principal de Laravel 5 por medio de Composer.

Section 2: Creando la estructura y componentes de la API
Article

Sé que es muy fácil equivocarse al momento de copiar el código del video a tus propios proyectos. Por esta razón, he publicado el código del curso completo en un repositorio público en GitHub, allí puedes ver con detalle todos los códigos del proyecto.

15:56

Veamos la estructura básica de Laravel 5, y el uso del patrón o arquitectura MVC con una pequeña prueba.

13:42

Crearemos los modelos a utilizar en nuestra API para interactuar con la base de datos fácilmente

13:50

En esta clase utilizaremos Laravel 5 y PHP artisan para construir el esquema de nuestra base de datos por medio de las migraciones y sin necesidad de SQL.

18:24

Veremos cómo insertar datos en la base de datos ya creada datos artificiales por medio de seeders y un generador de datos falsos sin necesidad de usar SQL.

Article

Durante las actualizaciones de Laravel 5, hubo un cambio en el generador de rutas de php artisan, que deben ser tenidas en cuenta.

08:41

En esta clase veremos cómo se crean con gran facilidad las rutas y se asocian a una función del controlador.

11:45

Crearemos fácilmente los controladores que se encargarán de procesar adecuadamente cada petición en cada método de HTTP.

05:48

Ahora en esta clase vamos a reparar y poner a punto nuestras rutas, agregando las que nos hacen falta y eliminando las que no nos son útiles usando un controlador adicional.

Section 3: Implementando las operaciones de la API
06:54

En esta clase veremos con detalle cómo mostrar los registros de la base de datos según las peticiones del usuario para los fabricantes

08:10

Veremos cómo mostrar los valores de los vehículos y los vehículos según el fabricante según las peticiones del usuario

04:15

En esta clase veremos cómo laravel 5 usa los middleware para las verificaciones de seguridad de CSRF, cómo afecta esto a nuestra API y cómo solucionar el problema.

13:06

Durante esta clase usaremos el Middleware de autenticación básica de Laravel (basic auth) para validar los usuarios que podrán realizar operaciones de inserción, actualización y eliminación en la API.

12:07

Veremos cómo recibir una petición por POST que nos permite insertar los valores recibidos en la base de datos utilizando la inyección de dependencias.

04:45

Anteriormente hacíamos la inserción de un vehículo asociado a un fabricante sin utilizar el id enviado en la ruta, sino que usábamos un parámetro adicional el cual era totalmente innecesario. Durante esta clase solucionaremos ese detalle.

13:41

Veremos cómo actualizar una entrada en la base de datos a partir de una petición recibida para un recurso individual.

11:28

Veremos cómo actualizar una entrada en la base de datos a partir de una petición recibida para un recurso anidado.

12:43

Veremos cómo eliminar una entrada en la base de datos a partir de una petición.

Section 4: Mejorando la seguridad y funcionamiento de la API
04:57

En esta clase veremos cómo somos vulnerables a los ataques de tipo CSRF y en que consisten estos.

07:23

Veamos cómo mejorar nuestro sistema de autenticación para hacerla "stateless" por medio de un Middleware propio impidiendo así que un tercero explote la sesión de un usuario para ataques CSRF.

13:07

Veremos cómo mejorar y controlar las demás rutas de nuestra API, mejorar un poco el código eliminando líneas innecesarias.

Section 5: Preparando el entorno de producción
07:34

En esta clase crearemos un VPS el cual podremos usar durante el curso totalmente gratis. Usaremos la distribución de Linux: Ubuntu

03:09

En esta clase crearemos rápidamente un dominio gratuito y lo configuraremos para funcionar con el VPS

09:02

En esta clase veremos cómo instalar un servidor Nginx y configurarlo de manera segura en Linux.

10:01

Veamos cómo instalar en producción nuestro sistema para PHP con Nginx y montar la base de datos segura.

05:31

Durante esta clase veremos cómo instalar Composer en nuestro entorno de producción Linux.

Section 6: Sincronizando y configurando entorno de producción
04:12

En esta clase vamos a crear una cuenta en Github (si no la tenemos) y a crear un repositorio público para sincronizar los entornos.

05:18

En esta clase pondremos toda la estructura y configuración local en el repositorio remoto de Github.

04:32

Durante esta clase pondremos la copia que tenemos de nuestro trabajo en remoto en el ambiente de producción y la configuraremos.

12:42

En el entorno de producción debemos establecer nuestro archivo .env como corresponde, junto con los permisos de escritura en algunas carpetas y la configuración de Nginx para funcionar con Laravel.

Section 7: Funcionalidades Útiles
03:38

Veamos cómo agregar la versión a las URI de nuestra API de una manera muy sencilla.

05:23

Agregando un sistema de caché para algunas peticiones y así reducir la carga del servidor de la base de datos.

06:45

Es una muy buena práctica, cuando se tienen grandes volúmenes de datos, paginar los resultados en pequeños fragmentos más manejables por el servidor. Al paginar una respuesta, simplemente se retorna dicha respuesta por segmentos, en lugar de retornar el conjunto de datos completo. Por ejemplo de 500 vehículos a retornar retornar fragmentos con 15 vehículos cada uno.

Section 8: Actualizando a Laravel 5.1
06:35

Durante esta clase aprenderás a actualizar el proyecto que haya desarrollado en Laravel 5 a la versión 5.1, manteniendo el funcionamiento del proyecto tal cual debe ser.

Section 9: Seguridad con OAuth2: Controlando el Acceso y Validando Peticiones
06:44

En esta clase verás en qué consiste OAuth2, las diferentes formas de funcionar de éste y cuál usaremos en el curso.

06:03

Anteriormente en el curso se usó una versión antigua de OAuth2, pero para la versión actual de OAuth2, se necesario realizar varios cambios. Vamos entonces a eliminar la versión anterior (únicamente si la tienes instalada) para iniciar con la nueva.

Advertencia: Este clase sólo la debe seguir si tenías instalada la versión anterior de OAuth2: La versión 4.0. SI al llegar a esta clase, aún no has visto nada de OAuth2, no te preocupes, simplemente comienza con la siguiente.

05:58

Durante esta clase verás cómo fácilmente se puede obtener el servidor de OAuth2 en Laravel e instalarlo como una dependencia del proyecto.

09:34

Vamos a implementar el grant_type = password, para obtener un acess_token a partir de los datos de un usuario y un cliente válidos, junto con al creación de una ruta que nos permita generar los access_token.

04:37

Durante esta clase aprenderá a usar el middleware de OAuth2 para verificar el acceso a determinadas operaciones y recursos.

Section 10: Actualizando a Laravel 5.2
06:34

Actualiza el proyecto de tu API RESTful de la versión 5.1 a la 5.2.

Section 11: ¡Aún no termina!
Article

Un pequeño listado donde aparecen los conceptos o temas que serán explicados en las clases adicionales.

Article

Puesto que el VPS usado en el curso expira al poco tiempo, he creado una copia exacta de la API en mi dominio personal.

06:13

Vamos a crear un VPS en DigitalOcean usando un bono por $10 dólares.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

JuanD MeGon, Experienced Web Developer, Programmer and Instructor

Systems and Informatics Engineer - Web Developer

Professional Instructor. Founder of ProgramarYa.

Found professional courses about web development with high quality and availability, PHP, Laravel and Web Development in general.

---------------------------------------------------

Ingeniero de sistemas e informática - Desarrollador Web.

Instructor profesional y fundador de ProgramarYa.

Encuentra cursos profesionales sobre PHP, Laravel y de desarrollo web en general, con alta calidad y disponibilidad.

Ready to start learning?
Take This Course