typestar

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

  1. Cada parámetro private se vuelve una propiedad, sin asignaciones repetitivas.
  2. $price = 2.75 le da también un valor por defecto a la propiedad promovida.
  3. total lee las propiedades a través de $this como cualquier otro método.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 3 en Clases; paso 16 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →