✨ Constructor property promotion (PHP 8.0+) — la novità che semplifica tutto
Una delle innovazioni più apprezzate di PHP 8: puoi dichiarare e assegnare le proprietà direttamente nella firma del constructor, eliminando il codice ripetitivo visto nell'esempio precedente.
<?php
// PRIMA di PHP 8 (o senza promotion) — molto codice ripetitivo:
class Prodotto {
public string $nome;
public float $prezzo;
public function __construct(string $nome, float $prezzo) {
$this->nome = $nome;
$this->prezzo = $prezzo;
}
}
// CON constructor property promotion (PHP 8+) — identico risultato, molto più conciso:
class Prodotto {
public function __construct(
public string $nome,
public float $prezzo
) {}
}
$mouse = new Prodotto("Mouse", 15.99);
echo $mouse->nome; // → Mouse (la proprietà esiste già, senza righe extra nel corpo!)
?>
✅ Aggiungendo public (o private/protected) direttamente davanti al parametro del constructor, PHP dichiara automaticamente la proprietà E la assegna — eliminando 4 righe di codice ripetitivo per ogni proprietà.