Php 是否可以将存储库作为依赖项注入laravel服务文件中?

Php 是否可以将存储库作为依赖项注入laravel服务文件中?,php,laravel,service,laravel-5,repository,Php,Laravel,Service,Laravel 5,Repository,我想做什么- 1) 控制器将依赖于逻辑和内容的服务。 2) 服务依赖于数据库访问的存储库。 3) 控制器将作为依赖项获取服务。 4) 服务将获得一个存储库作为依赖项 我的服务级别是- class AnimeService implements IAnimeService{ protected $animeRepository; public function _construct(IAnimeRepository $_animeRepository) {

我想做什么- 1) 控制器将依赖于逻辑和内容的服务。 2) 服务依赖于数据库访问的存储库。 3) 控制器将作为依赖项获取服务。 4) 服务将获得一个存储库作为依赖项

我的服务级别是-

class AnimeService implements IAnimeService{

    protected $animeRepository;

    public function _construct(IAnimeRepository $_animeRepository) {       
        $this->animeRepository = $_animeRepository;
    }

    public function add(Anime $anime) {      
        return $this->animeRepository->add($anime);
    }
}
问题是—

Call to a member function add() on null
这是预期的-因为从未调用_构造

顺便说一下;从我的AppServiceProvider

public function register()
    {
        $this->app->bind('\App\Services\Interfaces\IAnimeService', '\App\Services\Implementations\AnimeService');
        $this->app->bind('\App\Repositories\Interfaces\IAnimeRepository', '\App\Repositories\Implementations\AnimeRepository');
    }
我的问题是- 1) 在这种情况下,我该怎么做才能使我的服务发挥作用

2) 最佳做法是什么

3) 还有什么其他方法可以实现我的目标


多谢各位

构造函数应命名为
\uuu-construct
,而不是
\u-construct
,并带有两个下划线:) 请参阅php文档:


如果你正在控制器构造函数中注入
AnimeService
,Laravel应该自动解决依赖关系,因此它应该通过修复构造函数方法的名称来处理这里的内容:)

是的,每个人都会犯错误;)我敢肯定,当每个人发现这是xD的错误时,他们都很恼火