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

Implementar Eloquent ORM en tu proyecto, sin Laravel

El framework Laravel 4 cuenta con una característica importante, y es que fue reconstruído de manera modular, de tal forma que sus componentes pudieran ser utilizados independientemente.

Eloquent Laravel

Algunas veces decidimos no utilizar un framework full-stack en nuestros proyectos con el fin de llevar a cabo una organización personalizada de los directorios o por cualquier otro motivo, pero por todos es conocido aquel dicho de no reinventar la rueda; así que si existen herramientas tan buenas como los ORM no hay razón para que aún estemos escribiendo sentencias SQL directamente en nuestro código (a menos que, una vez más, sea un motivo de fuerza mayor debido a las particularidades del proyecto).

Hay diversas soluciones libres para la implementación de un ORM en un proyecto PHP, como PHP Active Record, pero dado que los lectores de este blog somos amantes de Laravel, preferimos Eloquent para llevar a cabo esta tarea. Así que vamos a ello…

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

Listar registros con Laravel y Codeception

Hoy vamos a programar el listado de secciones con Laravel, nuevamente vamos a escribir la prueba funcional con Codeception,  y además les enseñaré a usar el componente Faker que está disponible y vamos a instalarlo con Composer.

Laravel, Codeception, Composer

El componente Faker nos permite generar datos aleatorios, los cuales son múy útiles al momento de crear nuestras pruebas y también para generar seeders para la base de datos como veremos en otro videotutorial más adelante.

Recuerden que para instalar un componente nuevo con Composer dentro de su proyecto deben editar el archivo composer.json y luego ejecutar composer update y si quieren saber qué paquetes pueden instalar, los tienen en Packagist.

Espero que disfruten el siguiente videotutorial, no olviden compartirlo:

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

Validación con Laravel y Codeception

En esta segunda parte: aprenderemos cómo crear un controlador y cómo validar datos con Laravel.

Por supuesto, todo lo haremos siguiendo el mismo patrón de Behavior Driven Development (BDD) como vimos en la primera parte.

Sin importar el nivel que tengas de Laravel: básico, intermedio o si buscas lecciones avanzadas: este tutorial es adecuado para ti.

Los dejo con el video:

Ver post

Behavior Driven Development con Laravel y Codeception

En nuestro séptimo video tutorial vamos a unificar los dos proyectos en los que hemos estado trabajando hasta ahora: la guía para escribir pruebas con Codeception paso a paso, y nuestro proyecto para construir un CMS con Laravel.

Por otro lado este es un muy buen video tutorial si estás comenzando con Laravel, porque vamos a abordar los temas de rutas, vistas con Blade y Eloquent desde el nivel básico.

El siguiente video, vamos a escribir el código para agregar nuevas secciones a nuestro blog, usando behavior driven development (BDD).

NOTA: Revisa la lista de pasos al final del video de manera que puedas reproducirlos, sobretodo el paso 7 que no está explicado en el video.

Ver post

Instalación de Codeception con Composer en Laravel

Cuando trabajamos en proyectos con Frameworks modernos de PHP como Laravel o Symfony, podemos escribir pruebas funcionales.

Las pruebas funcionales se ejecutan más rápido que las pruebas de aceptación, además nos proveen errores detallados y nos permiten hacer comprobaciones adicionales a la base de datos etc.

codeception composer

En el siguiente video aprenderemos a instalar Codeception con Composer y escribiremos nuestra primera prueba funcional, espero que lo disfruten:

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