¿Qué es un interface en PHP?

Operadores en PHP

Cuando definimos una clase o un método que acepta parámetros queremos evitar que nos «cuelen» datos no válidos. Para esto tenemos los tipos de datos: int, string, array, bool, etc: public function metodo(int $numero) También podemos indicar que el parámetro sea un objeto de una clase concreta: public function metodo(UnaClase $unObjeto) Pero ¿y si queremos … Leer más

Problemas con Carbon::now() y los test unitarios

[Cuando trabajas con Carbon] las fechas y los test pueden ser un auténtico engorro. El problema suele ser cuando tienes una situación como ésta: $objeto = Clase(); $this->assertEquals(Carbon::now(), $objeto->fechaCreacion()); Y dentro del objeto tienes algo como: public function __constructor() { $this->fechaCreacion = Carbon::now(); } public function fechaCreacion() { return $this->fechaCreacion; } ¿Dónde esta el problema? … Leer más

El libro de Aliens contra Elefantes está en marcha

Hace un tiempo tuve la sublime idea de escribir un libro de buenas prácticas en PHP que supondría un antes y un después. Tras una larga espera ha llegado el momento de poner en marcha el proyecto. Para ir abriendo boca, mientras lo escribo, he enviado el primer capítulo a la gente que está suscrita … Leer más

El método __toString en PHP

Descubre trucos de PHP

Hay un método en PHP que a mi me resulta muy útil pero que, es curioso, no veo que lo use mucha gente. Es el método mágico «__toString()». ¿Qué hace __toString()? De forma clara y sencilla: muestra el texto que queramos cuando alguien quiera convertir nuestra clase en una cadena. Un ejemplo para entenderlo: Si … Leer más

La herencia de clases es el mal

Muchas familias se han roto o distanciado por culpa de una herencia. Y, como en la vida real, en programación la herencia puede ser el mal absoluto. La herencia de clases es una idea fantástica. Puedes coger una clase y extenderla a través de la herencia para crear otra clase con la funcionalidad extra que … Leer más

Los métodos no deberían tener que llamarse en un orden determinado

Si para llamar a un método antes tienes que llamar a algún otro método… mal asunto. Algo no estás haciendo bien. Vamos a usar como ejemplo una clase que envía un mensaje cifrado: Aparentemente está todo correcto ¿no? Mmm, prueba a ejecutar este código (que, por cierto, necesita de la versión de PHP7.4 o superior). … Leer más

¿Qué son los principios SOLID?

Geolocalización con JavaScript

Son cinco reglas que se usan como base para escribir código de calidad y fácilmente mantenible en programación orientada a objetos. El término lo acuñó el gran Robert Cecil Martin (también conocido como Uncle Bob). Si sigues estos cinco principios tu software debería poder mantenerse y ampliarse de forma mucho más rápida y sencilla. Es … Leer más