readonly класи
Модифікатор readonly перед class робить readonly кожну оголошену властивість, тож у DTO і value object його не треба повторювати в кожному рядку конструктора. Властивості мають бути типізовані, динамічні властивості заборонені, а успадкувати такий клас може лише інший readonly клас.
readonly class Money
{
public function __construct(
public int $amount,
public string $currency,
) {}
}
class Money
{
public function __construct(
public readonly int $amount,
public readonly string $currency,
) {}
}