Entiendiendo Versionamiento Semántico

Hace poco estaba hablando con un colega y recomendándole una librería para ayudarle en un problema que estaba tratando de resolver. Mientras le hablaba de cómo funcionaba la librería, abrió el repositorio Github de la misma y vio el número de version (1.1.5) y me dijo “No es muy buena, está solo en versión 1”….

Testeando Unitariamente el Sistema de Archivos en PHP

Cada vez que hacemos una llamada a file_get_contents o fwrite o cualquiera de las funciones de sistema de archivos en PHP, estamos acoplando nuestro código al sistema de archivos. Lo que quiero decir con esto es que nuestro código necesita un sistema de archivos para funcionar. Si estuviésemos usando una abstracción de sistema de archivos…

Desmitificando las ORM

Hace poco en el sitio de Programadores Chile, un usuario hizo una pregunta muy interesante, que al menos todos nos hemos hechos alguna vez: Hola, quiero hacerles una consulta… ¿para ustedes es mejor SQL nativo o un ORM y por qué ? Un Desarrollador X Un montón de respuestas y comentarios, algunos de ellos bastante increíbles…

Accediendo a propiedades privadas sin usar Reflection

Hace poco, mientras estaba trabajando en mi próximo gran proyecto (una librería de Event Sourcing en PHP) me topé con un problema muy concreto. Necesitaba serializar una clase llamada Event a json, y poder volver a deserializarla de vuelta. Lo sé: en PHP existen las funciones serialize y unserialize para guardar representaciones textuales de cualquier…

Tell Don’t Ask en PHP

De las muchas técnicas y principios de POO que he aprendido en mi carrera, uno de los más útiles es el llamado Tell, Don’t Ask.Para comprenderlo mejor, tenemos que contrastarlo con su anti patrón. Consideremos la siguiente clase: Lo que la mayoría de los desarrolladores haría, es llenar esta clase de getters y setters: Luego,…

3 Razones para evitar usar Laravel

No pocas veces he escuchado la frase “No importa, al final todos los frameworks son iguales” cuando he intentado convencer a otros desarrolladores de considerar las cualidades de un framework sobre otro. Tal respuesta es parte de una técnica ancestral: no hay mejor forma de aniquilar un debate que negar el hecho de que debería…