Difference between revisions of "PHP/native/BackedEnum"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< PHP
Jump to navigation Jump to search
m
(pseudocode in official doc did not include "function" in method declarations)
 
Line 6: Line 6:
 
interface BackedEnum extends UnitEnum {
 
interface BackedEnum extends UnitEnum {
  
   static from(int|string $value): static;
+
   static function from(int|string $value): static;
   static tryFrom(int|string $value): ?static;
+
   static function tryFrom(int|string $value): ?static;
  
 
   string|int $value; // pseudocode
 
   string|int $value; // pseudocode
Line 13: Line 13:
 
   // INHERITED from UnitEnum (unmodified):
 
   // INHERITED from UnitEnum (unmodified):
  
   static cases(): array;
+
   static function cases(): array;
 
   string $name; // pseudocode
 
   string $name; // pseudocode
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
The member-variables are labelled "pseudocode" because a normal {{l/php|interface}} can't declare member-variables.
 
The member-variables are labelled "pseudocode" because a normal {{l/php|interface}} can't declare member-variables.

Latest revision as of 14:24, 25 August 2024

BackedEnum pseudointerface
manual page: The BackedEnum interface

Note that this (pseudo)interface cannot actually be implemented as a standard class; it can only be (pseudo)implemented by declaring a backed enum.

Definition

interface BackedEnum extends UnitEnum {

   static function from(int|string $value): static;
   static function tryFrom(int|string $value): ?static;

   string|int $value; // pseudocode

   // INHERITED from UnitEnum (unmodified):

   static function cases(): array;
   string $name; // pseudocode
}

The member-variables are labelled "pseudocode" because a normal interface can't declare member-variables.