Laravel服务层类中的依赖注入

时间:2020-01-14 21:18:17

标签: php laravel dependency-injection service-layer

在Laravel 6.9.0应用程序中,我有一些代码需要在很多地方运行,因此我正在努力将其创建为服务层。

我已经创建了文件/app/Actions/Music/GetRecentArtists.php并将其添加到我的作曲家自动加载配置中:

<?php

namespace App\Actions\Music;

use \Barryvanveen\Lastfm\Lastfm;

class GetRecentArtists {

    public function get(Lastfm $lastfm)
    {
        return true;
    }

}

但是当我使用以下方法在Tinker中运行时:

(new App\Actions\Music\GetRecentArtists())->get()

我收到以下错误:

TypeError: Too few arguments to function App/Actions/Music/GetRecentArtists::get(), 0 passed in Psy Shell code on line 1 and exactly 1 expected

我认为依赖项注入将注入Lastfm实例。当我删除函数参数时,它运行良好。

1 个答案:

答案 0 :(得分:0)

如果您使用resolve方法,Laravel服务容器应为您注入依赖项:

resolve('App\Actions\Music\GetRecentArtists')
相关问题