Problemas al copiar un objeto en JavaScript

Seguro que esto te ha ocurrido en más de una ocasión en JavaScript: Tienes un objeto en una variable. Copias esa variable en otra. Modificas la nueva variable. ¡Se te ha cambiado también la variable original! Podemos verlo en un ejemplo: let persona1 = { nombre: ‘Gorka’ }; let persona2 = persona1; persona2.nombre = ‘Juan’; … Leer más

json_decode ¿Objeto o array?

PHP vs Json

Si has usado json_decode alguna vez sabrás que esta función nos convierte una cadena que viene en formato json en un objeto: $json = ‘{«nombre»: «Gorka», «conocimientos»: {«java»:»algo», «go»: «aprendiendo», «c»: «alto», «python»: «alto», «php»:»master and commander»}}’; // Así se convierte en un objeto: $objetoJson = json_decode($json); print_r($objetoJson); Y el resultado sería: stdClass Object ( … Leer más

Pasar de mayúsculas a minúculas sin dolores de cabeza en PHP

Descubre trucos de PHP

Seguro que en PHP más de una ocasión te habrás encontrado con que tienes que pasar alguna cadena de mayúsculas a minúsculas (o al revés) y te has encontrado en esta situación: echo strtolower(«ÑAPA»). PHP_EOL; Se convierte en: Ñapa ¡Maldición! ¿Por qué esa maldita ‘Ñ’ no se ha pasado a minúsculas? ¡Enhorabuena! te has adentrado … Leer más

Seamos estrictos en PHP (declare_strict=1 y otras zarandajas)

Todos sabemos que en PHP se pueden hacer auténticas barbaridades debido, entre otras cosas, a tu tipado débil. El tipado débil es una fuente de muchos problemas si no se es suficientemente disciplinado. Y en el mundo de desarrollo la disciplina no siempre se deja ver todo lo a menudo que debería. Por eso es … Leer más

¿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