L3 Info : PHP et Applications Web
 
◃  Ch. 9 Extra ball !  ▹
 

Énumerations PHP

  • Mécanisme disponible depuis PHP 8.1
  • Permet de créer un type personnalisé associé à un nombre de valeurs limités
  • Peut contenir des constantes, des méthodes et implémenter des interfaces
  • Enumérations de base
    • Similiaires aux classes
    • Exemple :
      enum Diplome {
        case Licence;
        case Master;
        case Doctorat;
      }
    • Le type enuméré Diplome accepte trois valeurs légales : Diplome::Licence, Diplome::Master et Diplome::Doctorat.
  • Diplome est un nouveau type, il peut être associé à une variable, un paramètre de fonction, un type de retour, un type d'attribut d'instance...
    • Exemple :
      function attributDiplome(Diplome $dip):void { //... }
      $varDip = Diplome::Licence;
      $varDip instanceof Diplome;
  • Les enumerations disposent d'une méthode statique cases() issue de l'interface UnitEnum
    Diplome::cases(); // produit le tableau [Diplome::Licence, Diplome::Master, Diplome::Doctorat]