Я хочу создать пакет, в котором есть команда.Данная команда опирается на привязку к зависимой библиотеке - как таковая:
- в моем файле composer.json, который я указал
"extra": {
"laravel": {
"providers": [
"Test\\ServiceProvider"
]
}
}
- созданный сервиспровайдер
<?php
namespace Test;
use Illuminate\Support\ServiceProvider as Provider;
use Test\Commands\TestCommand;
use External\Package\Binding;
class ServiceProvider extends Provider
{
public function boot()
{
if ($this->app->runningInConsole()) {
$this->commands([
TestCommand::class,
]);
}
}
public function register()
{
$this->app->singleton(Binding::class, function () {
return new Binding();
});
}
}
<?php
namespace Test\Commands;
use Illuminate\Console\Command;
use External\Package\Binding;
class TestCommand extends Command
{
public function __construct(Binding $binding)
{
parent::__construct();
$this->binding = $binding;
}
}
Все же я получаю:
Подсветка \ Контракты \ Контейнер \ BindingResolutionException: Цель [External \ Package \ Binding] не создается при сборке [Test \ Commands \ TestCommand]
Как обойти проблему?