PHP 7.4 は型付きクラス プロパティをサポートしているため: https://www.php.net/manual/en/migration74.new-features.php#migration74.new-features.core.typed-properties。多くのコード、特にプロパティ タイプの制御を担当するエンティティと DTO の getter と setter を削除できるようです。たとえば、そのようなスニペット:
class Foo implements BarInterface
{
/**
* @var int
*/
protected $id;
/**
* @var int|null
*/
protected $type;
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
* @return $this
*/
public function setId(int $id)
{
$this->id = $id;
return $this;
}
/**
* @return int|null
*/
public function getType(): ?int
{
return $this->type;
}
/**
* @param int|null $type
* @return $this
*/
public function setType(?int $type)
{
$this->type = $type;
return $this;
}
}
次のようにリファクタリングできます。
class Foo implements BarInterface
{
public int $id;
public ?int $type;
}
これは良い考えだと思いますか? そのようなリファクタリングを行う際に考慮すべきことは何ですか?