Programación Backend en PHP Laravel

Programación Backend en PHP Laravel

En este curso aprenderás a crear aplicaciones Backend con el framework Laravel. Curso enfocado a que aprendas de manera rápida a crear APIs.

Puedes adquirir el curso comprándolo con un solo pago sin límite de tiempo en el botón de aquí abajo, o puedes Suscribirte a Metal Code y acceder a todos los cursos por una cuota temporal.

Comprar por $ 8.00 USD Prueba gratis
NUEVO

8.00 USD

12.00 horas

189 clases

Lo que aprenderás

  • PHP
  • Laravel
  • Crear aplicaciones Backend
  • Conceptos del Backend
  • Autenticación con JWT
  • Programación Orientada a Objetos
  • Programación Funcional
  • Conceptos de Arquitectura de Software
  • Reglas de negocio
  • Manejo de Middlewares
  • Pruebas unitarias
  • Pruebas de características
  • Tareas en segundo plano

Clases del curso

Introducción

  Bienvenida al curso

Introducción a PHP (sintaxis básica)

  Instalación de XAMPP

  Variables

  Tipos de dato

  Estructura de control "if"

  Estructura de control "else" y "else if"

  Estructura de control "switch"

  Estructura de control ternaria

  Bucle "for"

  Bucle "while"

  Bucle "do while"

  Funciones

  Funciones existentes en PHP

Introducción a PHP (arrays)

  Array indexados

  Array asociativos

  Estructura de control "foreach"

  Arrays multidimensionales

  Funciones comunes para Arrays

Programación Orientada a Objetos en PHP

  Clases y Objetos

  Métodos

  Constructores

  Destructores

  Propiedades y métodos estáticos

  Clases con tipado

  Union Types

  Herencia

  Encapsulamiento

  Métodos Getter y Setter

  Clases Abstractas

  Interfaces

  Traits

  Polimorfismo - Sobreescritura de métodos

  Polimorfismo - Interfaces

  Clases con propiedades dinámicas con "stdClass"

  Conversión de Arrays a Objetos

  JSON

  Serialización de Objetos a JSON

  Namespace

Programación Funcional en PHP

  Función Pura

  Recursividad

  Inmutabilidad

  Función de Primera Clase

  Función de Orden Superior

  Arrow Function

  Captura de Variables Externas con "use"

Programación Backend

  ¿Qué es Programación Backend?

  HTTP

Introducción a Laravel

  ¿Qué es Laravel?

  Instalación de Composer

  Instalación de Laravel

  Creación de App Laravel

  Estructura de Laravel

  Patrón Arquitectónico MVC (Modelo-Vista-Controlador)

  Creación del primer Endpoint

Rutas y Controladores

  Creación de Controlador

  Envió de Parámetros en Ruta

  Solicitudes HTTP por Método GET

  Códigos de Respuestas HTTP desde Laravel

  Constantes de Symfony para Codigos de Respuesta HTTP

  Solicitudes HTTP por Método POST

  Solicitudes HTTP por Método PUT

  Solicitudes HTTP por Método DELETE

Migrations

  Conexión a Base de Datos

  Creación de migración

  Ejecución de migración

  Realizar cambios a tablas con migraciones

  Revertir cambios de migraciones

  Crear Foreign Keys con migraciones

Seeding

  Creación de Seeder

  Resetear la Base de Datos

  Crear Seeder para Tablas con Foreign Keys

  Uso de Faker para generar datos Aleatorios

Models y Factories

  Models

  Datos rellenables en Models

  Indicar relaciones entre Models

  Creación de Factory

  Ejecución de Factory

  Creación de Factories con relaciones

Eloquent ORM

  Obtener información de la Base de Datos

  Obtener un registro por su Id

  Seleccionar campos y Ordenar resultados

  Filtrado de información

  Operador LIKE en Eloquent

  Operador Or en filtrado de información

  Búsqueda Dinámica Avanzada

  Join

  GroupBy

CRUD en Laravel

  Obtener información

  Paginado de Información

  Guardado de información

  Validar información

  Personalización de errores de validación

  Ocultar información retornada por el Model

  Editar información

  FormRequest para validar información

  Retornar Errores como JSON desde FormRequest

  Creación de Clase General para sobrescribir métodos de FormRequest

  Eliminación de información

  Modelos con eliminación lógica

Middleware

  Creación de Middleware

  Transformación de información de Solicitudes

  Alias

  Recibir valores en el Middleware

  Obtener información de la solicitud HTTP

  Logging

  Terminable Middleware

Seguridad con JWT

  ¿Qué es JWT?

  Instalación de biblioteca tymon/jwt-auth

  Configuración en Laravel de tymon/jwt-auth

  Configuración de driver de Autenticación de Laravel

  Adaptar Model User para poder usar JWT

  Creación de Requests para validar Autenticación

  Registro de Usuarios

  Autenticación de Usuarios (Login)

  Retornar tiempo de Expiración

  Asignación de Middleware de JWT a Rutas

  Identificar Usuario por el Token

  Invalidar Token (Logout)

  Funcionamiento del Cache de Laravel

  Refresh Token

  Claims

Service Container

  ¿Qué es el Service Container?

  Inyección de Clases con cero dependencias

  Inyección de Clases que Implementan Interfaces

  Inyección de Clases con Constructor

  Inyección de Clases con Dependencias de otras clases Inyectadas

  Context Binding

  Binding como Singleton

  Obtener manualmente objetos del Service Container

Events y Listeners

  ¿Qué es un Event?

  ¿Qué es un Listener?

  Ejecutar un Event

  Events en segundo plano

  Manejo de Listeners fallidos

  Especificar reintentos a un Listener

  Poner tiempo de espera en Listener

  Ciclo de ejecución de reintentos y failed en Listeners

Service Provider

  ¿Qué es un Service Provider?

  Creación de Service Provider

  Creación de clase e inyectada en Service Provider Personalizado

  Configuración de valores

  Probar lo configurado con Service Provider personalizado

  Uso del método boot() para registrar rutas

  Registro de Events y Listeners por medio de Service Provider

  Ejecución de Event desde clase servicio

Commands

  ¿Qué es un Command?

  Creación de Command

  Commands con argumentos obligatorios

  Commands con argumentos opcionales

  Commands con flags

  Agregar descripciones de los argumentos

  Command que consultan la Base de Datos

  Manejo de Errores en Commands

  Commands que trabajan con objetos inyectados

  Commands para mantenimiento

  Task Scheduling

Pruebas

  Instalación de Pest

  Diferencia entre Unit Test y Feature Test

  Crear Test Unit

  Crear Feature Test

  Pruebas para casos de Errores o Excepciones

  Hacer Feature Test a Controller

  Configuración de Entorno de Pruebas

  Creación de Base de Datos para pruebas

  Tests que usan Base de Datos

  Constantes para uso de Respuestas HTTP

  Test con Validaciones sobre la estructura del JSON de Respuesta

  Test para probar creación de elementos en Base de Datos

  Test para probar Validaciones

  Test para probar actualización de elemento en la Base de Datos

  Test para probar dependencias en de elementos con otras Tablas

  Test para comprobar eliminaciones de elementos de Base de Datos

  Test para validar eliminaciones de elementos que no existen

  Test a Controllers que tienen Middleware JWT

  Eliminar middleware de JWT en la ejecución de un Conjunto de Tests

Proyecto final - Módulo Venta

  Creación de Migración de Tabla Concept

  Creación de Migración de Tabla Sale

  Creación de Migración de la relación Sale-Concept

  Creación de Models Concept y Sale y sus relaciones

  Creación de Controller SaleController y configuración de ruta

  Creación de Request SaleRequest para validar (Incluye validaciones de array)

  Creación de ConceptEntity para resolver las reglas de negocio de Concept

  Creación de SaleEntity para resolver las reglas de negocio de Sale

  Guardado de Venta en Base de Datos

  Creación de servicio SaleService para código más limpio

  Unit Test para ConceptEntity

  Unit Test para SaleEntity

  Feature Test para CreateSaleService

Conclusión y código fuente

  Conclusión y código fuente

Planes de Metal Code

Mensual

$10 USD

Es la membresía más económica y que las personas eligen más

  • ✔ Acceso a Todos los cursos
  • ✔ Acceso al código del curso (si es que aplica)
  • ✔ Acceso a cursos en Pre-venta
  • ✔ Acceso a cursos exclusivos
  • ✔ Certificado de finalización
Comprar

Trimestral

$25 USD

Si deseas terminar más de 3 cursos, esta es la membresía ideal

  • ✔ Acceso a Todos los cursos
  • ✔ Acceso al código del curso (si es que aplica)
  • ✔ Acceso a cursos en Pre-venta
  • ✔ Acceso a cursos exclusivos
  • ✔ Certificado de finalización
Comprar

Semestral

$40 USD

Membresía para las personas que deseen ver más de 5 o 6 cursos

  • ✔ Acceso a Todos los cursos
  • ✔ Acceso al código del curso (si es que aplica)
  • ✔ Acceso a cursos en Pre-venta
  • ✔ Acceso a cursos exclusivos
  • ✔ Certificado de finalización
Comprar

Anual

$60 USD

Si deseas ver todos los cursos de Metal Code, esta membresía es la ideal

  • ✔ Acceso a Todos los cursos
  • ✔ Acceso al código del curso (si es que aplica)
  • ✔ Acceso a cursos en Pre-venta
  • ✔ Acceso a cursos exclusivos
  • ✔ Certificado de finalización
Comprar
Cargando...