다음과 같이 새로 도입 된 속성 유형 힌트를 사용하도록 클래스 정의를 업데이트했습니다.
class Foo {
private int $id;
private ?string $val;
private DateTimeInterface $createdAt;
private ?DateTimeInterface $updatedAt;
public function __construct(int $id) {
$this->id = $id;
}
public function getId(): int { return $this->id; }
public function getVal(): ?string { return $this->val; }
public function getCreatedAt(): ?DateTimeInterface { return $this->createdAt; }
public function getUpdatedAt(): ?DateTimeInterface { return $this->updatedAt; }
public function setVal(?string $val) { $this->val = $val; }
public function setCreatedAt(DateTimeInterface $date) { $this->createdAt = $date; }
public function setUpdatedAt(DateTimeInterface $date) { $this->updatedAt = $date; }
}
그러나 교리에 엔티티를 저장하려고 할 때 오류가 발생합니다.
초기화하기 전에 형식화 된 속성에 액세스하면 안됩니다
이는 $id
또는 로만 발생하는 $createdAt
것이 아니라 null로 허용되는 속성 인 $value
또는로 도 발생 $updatedAt
합니다.