मैंने अपनी कक्षा की परिभाषाओं को इस तरह से प्रस्तुत नई संपत्ति के संकेत का उपयोग करने के लिए अद्यतन किया है:
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
, लेकिन यह भी साथ हो $value
या $updatedAt
, जो नल गुण हैं।