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;
}
}