В моем приложении Laravel 6.9.0 у меня есть некоторый код, который мне нужно запускать из многих мест, поэтому я работаю над созданием его в качестве слоя службы.
Я создал файл /app/Actions/Music/GetRecentArtists.php
и добавил его в мою composer конфигурацию автозагрузки:
<?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
. Когда я удаляю аргумент функции, он работает нормально.