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

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

Qué es Composer y cómo usarlo

¿Así que no sabes qué es Composer? A mi también me pasó cuando empecé a estudiar Laravel, no entendía que era Composer, no entendía porqué necesitaba instalar eso en mi computadora, para qué era necesario, que era eso de “vendor”, ¿Composer.json? En este primer post te explicaré todos esos puntos que una vez trataron de complicarme la existencia.

Composer, Laravel, Symfony, Doctrine

El asunto está así: PHP ha tenido algunos cuantos problemas en el mundo de la descarga de paquetes/librerías, para hacer eso tenías que ir a la web (si es que tenía) de alguna librería y buscar la sección de “Descargas” para poder utilizarla; sin contar con el hecho que para hacer eso en algunas ocasiones necesitabas registrarte a la página; programadores PHP se quejaban de que no existía algo como npm para Node.js o bundler para Ruby. Bien, ahora existe, se llama Composer y podría considerarse una de las maravillas del mundo de PHP.

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

Crea entornos de desarrollo para Laravel con Homestead

Ya sabemos que el principal objetivo de Laravel es hacerte mucho más fácil, rápido y especialmente divertido el desarrollo de tus ideas y aplicaciones. Por otra parte, ya te explicamos las ventajas de utilizar Vagrant, un programa que facilita la administración de máquinas virtuales de desarrollo

Hoy les presentamos el siguiente paso de usar Vagrant, se llama Homestead y viene de la mano del mismo desarrollador de Laravel, Taylor Otwell, así que no tienes nada que temer, Taylor quiere que seas feliz y después de tener Homestead instalado, lo serás.

Vagrant, Laravel

Homestead combina Vagrant + Laravel creando así la unión perfecta para empezar a desarrollar tu aplicación web rápidamente. Homestead es básicamente una caja o ‘box’ en la terminología de Vagrant que trae instalado todo el software necesario para programar una aplicación en Laravel, entre ellos están:

Ver post

Diferencias entre Laravel 4 y Laravel 5: Cómo estructurar tu aplicación

El lanzamiento de Laravel 4 (también conocido como Illuminate), representó un gran cambio con respecto a la versión anterior. Laravel 4 reemplazó un framework que estaba construido mayormente por métodos estáticos, con otro que usa el poder de la inyección de dependencias, además de otros conceptos como los proveedores de servicio (o service providers) y, por supuesto, Composer. Sin embargo, a través del uso de Facades, se mantuvo el uso de los llamados como Route::get, View::make, etc.

Por lo tanto la versión 4, aunque incluyó muchos features, fue más, en mi opinión, un cambio de estructura por dentro, que de cara al usuario. Es decir, instalas Laravel 4 y aún puedes ver las mismas carpetas app/controllers, app/models/, y las mismas rutas en routes.php que tenías en Laravel 3:

estructura de un proyecto en Laravel4

Ahora, Laravel 5, además de nuevos features que amo como la inyección de dependencias dentro de los métodos, y otros que no me gustan tanto como las anotaciones en los controladores, es un cambio más hacia al usuario, la infraestructura del framework sigue siendo muy similar, pero el cambio se le plantea al usuario. Comenzando con un directorio de carpetas completamente nuevo:

Ver post

Cómo instalar Laravel en Codio

¿Qué es Codio y cuales son sus ventajas?

codio-logoCodio es un IDE alojado en la nube y por lo tanto puedes acceder cuando quieras, desde donde quieras. No necesitas instalar nada, solo hay que tener un navegador web. Por ejemplo, yo uso Codio desde mi Chromebook (Chrome OS), desde mi Casa (Windows), desde mi oficina (Debian) y lo único que tengo que hacer es abrir un navegador, iniciar sesión y empezar a desarrollar.

 

Crear un proyecto con Laravel en Codio

Lo primero es crear una cuenta para usar Codio. Después de esto solo debes crear un nuevo proyecto con el boton “Create Project” en la esquina superior derecha…

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

Suscríbete a nuestro boletín

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