¿Eres one-liner?

Pocas satisfacciones hay en la vida mayores que las de escribir un código muy complejo y difícil de entender en una única línea de código. Nos sentimos en la cúspide del olimpo de los dioses de la programación. Seguramente no verás ningún problema con este código: ¿Adivinas cuál es el resultado? Pues el resultado es … Leer más

El principio Tell Don’t Ask en PHP

Tengo un ejemplo a medias tell-dont-ask.php El principio «Tell, Don’t Ask» en programación orientada a objetos consiste en evitar preguntar algo a la clase hija y luego decirle que haga algo en base a su respuesta. En lugar de preguntar y luego hacer lo que se recomienda es decir a la clase hija que haga … Leer más

Detecta test lentos en PHPUnit

Los test en tus pruebas automatizadas tienen que ser rápidos. Muy rápidos. Si tus test tardan mucho al final dejarán de usarse. Para hacerte una idea, un test lento es aquel que supere los 500 milisegundos. PHPUnit Speedtrap Si trabajas con PHPUnit puedes detectar los test lentos usando PHPUnit Speedtrap. Es una herramienta que identificará … Leer más

La clase Money para trabajar con monedas en PHP

Hace unos días escribí un artículo sobre cómo trabajar con precios en PHP. En él mencionaba un paquete muy interesante llamado Money\Money que nos soluciona los problemas de redondeo habituales al trabajar con precios. Instalar el paquete Money/Money Lo mejor, como siempre, instalar el paquete con Composer y añadirlo a nuestro proyecto: $ composer require … Leer más

No dependas de paquetes adaptados a Laravel (u otro framework PHP)

Operadores en PHP

Cuando encuentras una dependencia que quiere añadir a tu proyecto ¿a que es muy cómodo encontrar que alguien ya la adaptado a tu framework favorito? Esto te ahorra algo de trabajo y es una ventaja. ¡Pero cuidado! Esto viene con un coste que puede ser alto. A mí me ha ocurrido en más de una … Leer más

¿Que es un «timing attack» en PHP?

Esto del timing attack puede hacer que tu cabeza explote cuando veas dónde puede llegar a haber agujeros de seguridad en tu aplicación web. El mecanismo de ataque se basa en medir el tiempo que tarda una aplicación en procesar una información. A continuación un ejemplo que es una explicación muy por encima y simplificada … Leer más

El fichero de configuración phpunit.xml en PHP

Operadores en PHP

En un artículo reciente expliqué cómo instalar y configurar PHPUnit. Seguramente recordarás que usábamos el comando: $ vendor/phpunit/phpunit/phpunit al que le pasábamos parámetros. Un parámetro es la carpeta que contiene los test. También podemos pasar el parámetro –color para que se nos muestren los test más elegantes. Y hay más parámetros. Para evitar tener que … Leer más