关于 l5-repository

不知道大家有没有用 l5-repository 的。我之前用 symfony,所以习惯了又 repository 这一层,看网上有人推荐 l5-repository,但是我在用过的过程发现,repository 只能在 controller 中依赖注入使用?
class PostsController extends BaseController {
protected $repository;
public function construct(PostRepository $repository){
$this->repository = $repository;
}
}
不能直接 new 吗,而且如果一个 controller 中用到两个 repository 怎么办呢?
在直接 new 的时候报如下错误:
ErrorException in BaseRepository.php line 87:
Argument 1 passed to Prettus\Repository\Eloquent\BaseRepository::
construct() must be an instance of Illuminate\Container\Container, none given, called in laravel52/app/Http/Controllers/HomeController.php on line 38 and defined
望用过的高手解答一下。

superwen
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2
wonbin

可以直接 new 了 ,controller 是依赖注入的方式产生的对象

5年前 评论
class PostsController extends BaseController {
         protected $repository_a;
         protected $repository_b;

         public function construct(ARepository $repository_a,  BRepository $repository_b, ) {
              $this->repository_a = $repository_a;
              $this->repository_b = $repository_b;
         }
}
4年前 评论