sisè / segona

Soy Víctor Rodríguez, programador web freelance con más de 10 años de experiencia

Generar helpers con Laravel 5

Estoy enfrascado en un proyecto en el que uso el framework de PHP Laravel 5.3. Y bueno, en un alarde de mantener limpio el código (seguir los principios KISS y DRY por ahí en medio) se me ocurrió crear un helper para visualizar números con formato en euros, algo así como number_to_currency de Ruby on Rails.

Y aquí empezaron mis dudas, ¿existe ya?, ¿cómo se llamará? Empecé a buscar pero no encontré nada en los helpers del propio framework. Así que vamos a crearlo de cero.

Buscando por Google encontré la solución, bastante sencilla además. Debes seguir los siguientes pasos:

1. Crea tu fichero helpers.php en app/Http/helpers.php por ejemplo. Ya que se va a utilizar para visualizar datos me parece un buen lugar para colocar el fichero.

2. Añade tu función helper dentro del fichero. Esta es la mía:

<?php

function currency($price) {
    return number_format($price, 2, ',', '.') . ' €';
}

3. Registra el fichero helpers en el fichero composer.json:

"autoload": {
    ...,
    "files": [
        "app/Http/helpers.php"
    ]

4. Haz que la aplicación se entere con este comando:

composer dump-autoload

Y ala, a utilizar el helper!

Frameworks PHP: Laravel

Hace unas semanas se me presentó la oportunidad de trabajar en un proyecto. Y aunque parece que va a ser que no, me «obligó» a buscar un framework PHP con el que me sintiera cómodo y con el que se puedan realizar proyectos de un tamaño medio o grande.

Haberlos haylos que dicen Galicia. El primero que se te viene a la mente suele ser Symfony, pero tiene una línea de aprendizaje larga. Con Zend he llegado a trabajar, sus módulos son buenos pero hay que tirar de configuración para casi todo. CakePHP o CodeIgniter son otros de los que he oído hablar «maravillas». Y buscando encontré Laravel.

La web de Laravel lo define como

THE PHP FRAMEWORK FOR WEB ARTISANS. PHP THAT DOESN’T HURT. CODE HAPPY & ENJOY THE FRESH AIR.

Como casi todos, es un framework MVC. Pero sus puntos fuertes creo que son usar principios que ya conocía de Ruby on Rails, un ORM basado en ActiveRecord, Eloquent y primar la convención sobre la configuración. Además tiene una manera sencilla de crear y usar librerías de terceros mediante Composer y gran parte de su código está basado en los módulos ya probados y fiables de Symfony.

Algo que también ayudó a entenderlo mejor y a que me gustara fue que encontré una serie de posts escritos por Phillip Brown en Culttt (tag Cribbb). Muy recomendable.