为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel Virgin:在控制器中注入一个模型作为依赖

Laravel Virgin:在控制器中注入一个模型作为依赖

PHP
米琪卡哇伊 2021-09-05 20:45:06
在我继承的模型代码中,有一些严肃的逻辑,我想使用 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 回答

  • 1 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信