Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Le mot-clé undefined

By Hammed Oyedele

<?php
  
 declare(strict_types = 1);

if (! class_exists('undefined')) {
   class undefined {}
}

if (! defined('undefined')) {
   define('undefined',  new undefined());
}

class X {
  function foo( 
      SomeType|undefined $object = undefined,
      bool|undefined $option = undefined,
  ) {
     return match($object) {
       undefined => new DefaultBehavior(),
       default => $object->someMethod()
     };
  }
}

Ceci est du code PHP valide.

Eh bien, je viens de découvrir qu’on peut utiliser une instance d’objet comme constante, et avoir aussi une classe portant le même nom, en PHP.

Laravel a le même concept pour les valeurs manquantes, sauf qu’ils n’ont pas vraiment créé de constante globale pour ça.

Cela agacerait sûrement certaines personnes, mais les preuves de concept ne sont pas un crime !

See Also

PHP Features

Last updated: 18 September 2026