Topics Modern PHP (8.0 - 8.4) PHP 8.0 - 8.1 Features
advanced 16 min read

PHP 8.0 - 8.1 Features

Named arguments, match expression, enums, readonly properties, and fibers.

PHP 8.0 Features

Named Arguments

function createUser(
string \$name,
string \$email,
bool \$isAdmin = false,
?string \$phone = null,
): User { ... }

createUser(
name: "Alice",
email: "[email protected]",
isAdmin: true,
);

Enums (PHP 8.1)

enum Status: string {
case Pending = 'pending';
case Active = 'active';
case Inactive = 'inactive';
}

// Backed enums
enum Suit: string {
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}

// Enum methods
\$status = Status::Active;
echo \$status->name; // Active
echo \$status->value; // active
echo \$status->isActive();

Readonly Properties (PHP 8.1)

class Config {
public readonly string \$apiKey;
public function __construct(string \$apiKey) {
\$this->apiKey = \$apiKey;
}
}

Examples

<?php
enum Color: string {
    case Red = '#FF0000';
    case Green = '#00FF00';
    case Blue = '#0000FF';
    
    public function hex(): string {
        return $this->value;
    }
}
echo Color::Red->hex();
echo Color::Green->name;

Your Notes

Sign in to take notes for this lesson.

Quiz

Modern PHP Quiz

0 questions

Sign in to take quiz

Discussion

Sign in to join the discussion.

Flashcards

Sign in to create flashcards.