PHP 8.1 contains many new features, including enums, readonly properties, first-class callable syntax, fibers, intersection types, performance improvements and more.
New Features 8.1
// Add native support for enumerations using enum keyword // https://www.php.net/manual/en/language.enumerations.examples.php enumStatus: string{ case Draft = 'draft'; case Published = 'published'; case Archived = 'archived'; } classBlogPost{ publicfunction__construct( public Status $status = Status::Draft ) {} }
// Readonly properties // Properties can be marked as immutable after initialization classUser{ publicreadonlystring$uuid; publicfunction__construct(string$uuid) { $this->uuid = $uuid; } }