プロパティを実装したインターフェイスをEloquentモデルに継承する場合に注意しなければならないこと
概要
以下にてインターフェイスにプロパティが書けるようになったことについて紹介しています。
これをEloquentモデルに適用する場合に注意点があったため残します。
注意点
インターフェイスを通して利用する全てのプロパティフックを実装しなければならない
PHPのマジックメソッドによって実装されている動的プロパティについては、インターフェイスを継承した場合に考慮されないため
注意点を踏まえ実装した場合
インターフェイスを通して利用する全てのプロパティフックを実装しなければならない
id と name プロパティが存在する場合は、以下のように実装しなければならない
code:php
public int $id {
get => $this->getAttribute('id');
set {
$this->setAttribute('id', $value);
}
}
public string $name {
get => $this->getAttribute('name');
set {
$this->setAttribute('name', $value);
}
}