Alternativas a un array: SplFixedArray

Seguramente ya sabrás que un array «normal» de PHP ocupa una cantidad de memoria enorme. El problema está relacionado con eso de que PHP es un lenguaje de tipado débil. Vamos, que una variable acepta cualquier tipo de dato. Da igual que contenga un entero, que un float, string, array… da igual. Esta flexibilidad tiene … Leer más

La expresión match() en PHP

Igual no te habías enterado de la existencia de la expresión match() en PHP. Es algo que se añadió en la versión 8. Así a primera vista parece un switch: $valor = 2;$valorEnLetras = match($valor) { 1 => ‘Uno’, 2 => ‘Dos’};echo $valorEnLetras; Pero tiene algunas diferencias: match() retorna un valor La expresión match devuelve … Leer más

¿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