在我繼承的模型代碼中,有一些嚴肅的邏輯,我想使用 Laravel 的依賴注入來將模型作為依賴項加載到控制器中,而不是使用 Laravel 提供的外觀。所以這是一個示例控制器:namespace App\Http\Controllers;use App\User;use App\Http\Controllers\Controller;class UserController extends Controller{ /** * Show the profile for the given user. * * @param int $id * @return View */ public function show($id) { return view('user.profile', ['user' => User::findOrFail($id)]); }}但是User我希望能夠將它作為依賴項加載到控制器中,而不是使用 Facade :namespace App\Http\Controllers;use App\User;use App\Http\Controllers\Controller;user App\Models\Userclass UserController extends Controller{ /** * @var User */ private $user=null; public function __construct(User $user) { $this->user=$user; } /** * Show the profile for the given user. * * @param int $id * @return View */ public function show($id) { return view('user.profile', ['user' => $this->user->findOrFail($id)]); }}我想要這樣做的原因是因為我來自 Symfony 背景,其中依賴注入模式被嚴重破壞。另外依賴注入是單元測試最好的伙伴,所以我希望能夠將我熟悉的依賴注入統一化。所以我想知道我是否可以在Controllers中注入邏輯存在的模型,而不是使用laravel提供的Facade Pattern。
- 1 回答
- 0 關注
- 218 瀏覽
添加回答
舉報
0/150
提交
取消