Ошибка "Unresolvable dependency resolving [Parameter #0 [ string $host ]]" говорит о том, что Laravel не может разрешить зависимость конструктора класса ApiRequest, так как не может найти строковое значение для параметра $host.
Для исправления этой ошибки вам нужно указать значение параметра $host при создании экземпляра класса ApiRequest. Возможны несколько способов сделать это:
1. Внедрение зависимости через контейнер Laravel:
Вместо создания экземпляра класса ApiRequest вручную используйте внедрение зависимости через конструктор. Убедитесь, что вы добавили ApiRequest в список классов, которые можно внедрять через автоматическое разрешение зависимостей контейнера Laravel.
Пример:
```php
use App\Services\ApiRequest;
class ExampleController extends Controller
{
protected $apiRequest;
public function __construct(ApiRequest $apiRequest)
{
$this->apiRequest = $apiRequest;
}
}
```
Затем Laravel самостоятельно разрешит зависимость ApiRequest, если она была зарегистрирована в контейнере.
2. Указание значения для параметра $host:
Если вы хотите явно указать значение параметра $host при создании экземпляра класса ApiRequest, вы можете вручную создать экземпляр класса и передать значение параметра в конструктор.
Пример:
```php
use App\Services\ApiRequest;
class ExampleController extends Controller
{
protected $apiRequest;
public function __construct()
{
$this->apiRequest = new ApiRequest('example.com');
}
}
```
Убедитесь, что вы передаете правильное значение для параметра $host вместо 'example.com'.
3. Использование AppServiceProvider:
Если ваш подход с использованием AppServiceProvider работает исправно, то вы можете продолжать использовать его для регистрации зависимостей. Убедитесь, что вы правильно зарегистрировали класс ApiRequest в методе register контейнера.
Пример:
```php
use App\Services\ApiRequest;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind(ApiRequest::class, function ($app) {
return new ApiRequest('example.com');
});
}
}
```
Убедитесь, что вы правильно указали значение параметра $host при регистрации класса ApiRequest (вместо 'example.com').
В любом случае, важно убедиться, что вы правильно определили зависимости и их значения в вашем приложении. Проверьте конфигурацию и код, чтобы убедиться, что нет опечаток, неправильных значений или незарегистрированных зависимостей.