私はLaravelにリポジトリパターンを実装しており、実装について質問があります。Laravel実リポジトリパターン
public function create(array $properties)
{
return $this->entity->create($properties);
}
public function update($id, array $properties)
{
return $this->find($id)->update($properties);
}
public function delete($id)
{
return $this->find($id)->delete();
}
そして、私は私のユーザーに何かをする必要があり、これまでそのリポジトリを注入:
は例えば、私はUserRepository
クラスはEloquent
標準に従う方法を持たせることができます。
私はここを参照してください問題は、私は、たとえば行うときにバックで何が起こるか...です:posts
関係はその後Eloquent
を介して呼び出された場合
$this->userRepository->authenticatedUser()->posts
これは、リポジトリのパターンを有する違反していますか?
User
モデルを介してロードされるすべての可能なリレーションを「実際の」リポジトリパターンが持つことは意味しますか?
あなたはもはやリポジトリを使用していないので、インターフェイスでauthenticatedUserの戻り値として指定したものに関係します。 – Devon
私の意見では、Eloquentのようなアクティブなレコードの実装で '真の'リポジトリパターンを使用しようとすると、雄弁なモデルそのものの複製がたくさん必要になるでしょう。あなたはすでにあなたのコードからそれを見ることができます。 私はそれが本当に努力の価値があるとは思わない – Teliov