ます。 <?php class User { private string $name; private int $age; public function __construct(string $name, int $age) { $this->name = $name; $this->age = $age; } <?php class User { public function __construct (private string $name, private int $age) {}
case Draft = 'draft'; case Published = 'published'; case Archived = 'archived'; } class BlogPost { protected PostStatus $status; public function __construct( protected readonly string $title, protected readonly string $content, PostStatus $status ) { $this->status = $status; } public function setStatus(PostStatus $status): void { $this->status = $status; } } public function getStatus(): string { return $this->status; } // 実行イメージ $blog = new BlogPost( title: 'New blog post', content: 'This is the content of the blog post.', status: PostStatus::Draft ); var_dump($blog->getStatus()->value); // 'draft' $blog->setStatus(PostStatus::Published); var_dump($blog->getStatus()->value); // 'published' PHP8の機能を使うパターン