私はLaravel 5.4
プロジェクトでRepository Pattern
というプロジェクトで働いています(私はそのパターンにはかなり慣れています)。私は、ウェブ上でこの件について赤い多くのことをしましたが、私はまだ二つの重要な疑問があります。Laravelリポジトリパターンの説明
>質問#1:
私はLaravel ORM Eloquent
使用して、私はこのようになりますインターフェイスを持っている想像しました:
<?php
namespace App\Repositories\User;
interface UserRepoInterface
{
/**
* @param array $user
*/
public function update(array $request, User $user);
}
あなたは、私は、パラメータのような雄弁User
モデルを指定していることがわかります。
雄弁な実装は次のようになります。
public function update(array $request, User $user)
{
$user->name = $request['name'];
$user->last_name = $request['last_name'];
$user->email = $request['email'];
$toUpdate->save();
}
だから私の質問:
は私のインターフェイスに雄弁User
モデルをハードコーディングすること間違ってますか? Web上の多くの例では、私はこれをやっている人たちを見ていますが、ファイルベースの実装で雄弁な実装を入れ替えたいのですが?更新方法にUser
モデルを渡さなければならないので、これは問題です。
User $user
の代わりに$user
と宣言すれば、この問題の解決策は何ですか?
>質問#2:
どのように改ページを処理する必要がありますか?
public function index()
{
return User::orderBy('name', 'asc')
->withCount('messages')
->with('corporation')
->paginate(10);
}
は、この間違っている:例えば
私の雄弁UserRepository
に私はこのようになります方法をしましたか?コントローラーでのみページを設定する必要がありますか?
良い説明が私には大いに役立ちます。