Enumeration static methods

Enumerations may also have static methods. The use for static methods on the enumeration itself is primarily for alternative constructors. E.g.:

<?php
enum Size
{
    case 
Small;
    case 
Medium;
    case 
Large;

    public static function 
fromLength(int $cm): static
    {
        return 
match(true) {
            
$cm 50 => static::Small,
            
$cm 100 => static::Medium,
            default => static::
Large,
        };
    }
}
?>

Static methods may be public, private, or protected, although in practice private and protected are equivalent as inheritance is not allowed.

User Contributed Notes

There are no user contributed notes for this page.
PHP8中文手册 站长在线 整理 版权归PHP文档组所有