Promoción en el constructor en PHP
Constructores de PHP 8 que declaran, tipan y asignan propiedades de un solo trazo.
<?php
// constructor promotion declares and assigns properties in one place
class Order {
public function __construct(
private string $item,
private int $qty,
private float $price = 2.75,
) {}
public function total(): float {
return round($this->qty * $this->price, 2);
}
}
$order = new Order("flat white", 3);
echo $order->total(), "\n";
Cómo funciona
- Cada parámetro
privatese vuelve una propiedad, sin asignaciones repetitivas. $price = 2.75le da también un valor por defecto a la propiedad promovida.totallee las propiedades a través de$thiscomo cualquier otro método.
Palabras clave y builtins usados aquí
classechofunctionnewprivatepublicreturnround
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 340
- Tokens
- 67
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 54 segundos.
Paso 1 de 3 en Clases; paso 16 de 27 en Fundamentos del lenguaje.