mixed n’est pas l’absence de type
<?php
class x {
public $p;
public mixed $q;
}
$x = new x;
var_dump($x->p);
var_dump($x->q); // Fatal error!
Quand une propriété n’est pas typée et n’a pas de valeur par défaut, elle reste accessible librement : sa valeur est null. En revanche, une propriété typée mixed peut également contenir n’importe quoi, mais elle ne peut pas être accédée avant d’avoir été écrite au moins une fois.
En développement, il peut être une bonne stratégie de typer les propriétés mixed afin de repérer toute utilisation non initialisée et de les définir.
See Also
PHP Error Messages
PHP Features
Last updated: 11 October 2026