// До PHP 8.0
class User {
public string $name;
public int $age;
public function __construct(string $name, int $age) {
$this->name = $name;
$this->age = $age;
}
}
// PHP 8.0+ - в 3 раза короче
class User {
public function __construct(
public string $name,
public int $age,
) {}
}
// Можно комбинировать с readonly (PHP 8.1)
class User {
public function __construct(
public readonly string $name,
public readonly int $age,
) {}
}Модификатор видимости перед параметром конструктора автоматически создает свойство и присваивает значение.