Qué son los Service Providers de Laravel y cómo usarlos

En los videotutoriales anteriores les expliqué el concepto de interfaces en PHP y les expliqué cómo pueden substituir una implementación de una interfaz por otra usando PHP y Laravel.

Hoy en este nuevo videotutorial de Laravel, voy a hablarles de los Service Providers.

OOP

Para configurar diferentes implementaciones, en la clase anterior agregamos un condicional (IF) que nos permitía asignar un repositorio diferente para el entorno de pruebas y otro para los otros entornos:

Ver post

Sustituye implementaciones usando Stubs e Interfaces en PHP (POO)

En la clase anterior les expliqué cómo podemos hacer que nuestros sistemas sean más flexible con el uso de interfaces.

En teoría, una interfaz, en la programación orientada a objetos, nos permite que podamos crear diferentes implementaciones de una clase o componente, por ejemplo diferentes implementaciones de un repositorio.

stubs-interfaces

Otros tutoriales por lo general se detienen aquí,  porque en la práctica no es tan sencillo, pero sí es posible y yo hoy se los demostraré con el siguiente videotutorial, donde vamos a crear un repositorio de secciones que va a usar colecciones (arrays) en vez de bases de datos y Eloquent. Pero antes de comenzar veremos un par de conceptos importantes:

Ver post

Aprende qué son las interfaces, cómo usarlas y definirlas en PHP y Laravel

Una interfaz en la vida diaria es una manera común de usar cierto tipo de objetos, por ejemplo esperamos que todos los autos, sin importar su marca, modelo, año o tipo, tengan ciertos elementos como son un volante, pedales para el acelerador y el freno, etc.

Interface PHP

En informática este tipo de conceptos se aplica a ciertos dispositivos que aunque puedan ser diferentes entre sí comparten interfaces comunes como son los puertos de acceso (USB, HDMI, etc.)

En la programación orientada a objetos las interfaces nos permiten crear objetos aún más flexibles, dado que si un controlador necesita un repositorio, podemos solicitar una interface en vez de una implementación en concreta, vean el siguiente ejemplo:

Ver post

Implementación del patrón repositorio (Repository Pattern) en Laravel

Si les gustó el artículo anterior sobre las diferentes filosofías o formas de estructurar nuestra aplicación en Laravel 4 y 5, hoy les va a gustar mucho este video, porque llevaremos el artículo a la práctica.

Vamos a refactorizar nuestro módulo de secciones una vez más, y esta vez será una refactorización más fuerte porque vamos a eliminar la carpeta de modelos de Laravel (models/), y vamos a crear una nueva estructura para nuestra aplicación basada en PSR-4. Para ello comenzaremos una refactorización donde extraeremos lógica de nuestros controladores y modelos a otras capas, comenzando así a liberar de responsabilidades a nuestras clases, cumpliendo con el Singe Responsability Principle, que es la base de los principios básicos de la programación orientada a objetos, conocidos como SOLID.

Ver post

Paginación de registros con Laravel y Codeception

En este nuevo videotutorial vamos a aprender cómo paginar los items del módulo de secciones con Laravel y, por supuesto, crearemos una nueva prueba funcional con Codeception.

La paginación puede ser un feature muy difícil de lograr con otros frameworks como Codeigniter, o peor aún si estamos trabajando con PHP plano. Pero con Laravel es muy fácil y uno de mis features favoritos.

Básicamente con Eloquent, el ORM de Laravel o si usamos Fluent, el constructor de queries de Laravel simplemente tenemos que hacer lo siguiente:

Ver post

Filtrar registros con Laravel: Refactorización (DRY)

En esta segunda parte, les voy a explicar cómo convertir el código repetitivo que hicimos en la clase pasada sobre filtros en Laravel, en un código mucho más fácil y rápido de implementar e incluso de reusar en otros módulos. Esto lo haremos con una refactorización basada en el principio DRY (don’t repeat yourself – no te repitas).

Aprenderemos también cómo crear un modelo «Base» de Eloquent donde podremos escribir métodos que puedan ser usados en múltiples modelos, además les explicaré cómo llamar a métodos en PHP de manera dinámica (con nombres variables), entre otros trucos avanzados de PHP orientado a objetos. Espero disfruten este nuevo videotutorial de Laravel:

Ver post

Eliminar un registro con Laravel y Codeception

Hoy vamos a aprender cómo eliminar una sección con Laravel, también seguiremos aprendiendo a escribir pruebas funcionales con Codeception, veremos un nuevo método «dontSeeRecord» y utilizaremos un formulario para hacer el llamado al método «destroy» de nuestro Resource controller (usando DELETE como método dentro del form).

También les hablaré un poco del principio DRY (Don’t repeat yourself o «No te repitas«) que nos explica que debemos evitar la duplicación de código tanto como sea posible, para ello haremos 3 pequeñas refactorizaciones en nuestro controlador, en la vista (donde aprenderemos a usar «@include» para incluir partials dentro de Blade) y en la prueba (donde aprenderemos cómo escribir métodos personalizados en Codeception)

Espero disfruten del siguiente videotutorial:

Ver post

Edición de un registro con Laravel y Codeception

En este nuevo videotutorial de Laravel, aprenderemos cómo actualizar un registro usando Eloquent, también aprenderemos a utilizar Form::model para completar los campos de los formularios en Blade, usaremos rutas con nombres en Laravel (named routes), y por supuesto vamos a probar nuestro módulo creando  otra prueba funcional con Codeception.

Ver post

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Recibe consejos útiles y múltiples recursos directamente en tu correo