@kirill-93

Laravel как инжектить класс?

Создал класс-обертку над elasticsearch в App\Elastic.
В AppServiceProvider в метод register добавил
$this->app->singleton(App\Elastic\Elastic::class, function ($app) {
            return new App\Elastic\Elastic();
        });

Как теперь в контроллере мне получить к нему доступ вот так:
public function method(\App\Elastic\Elastic $elastic)
{
    $elastic->search(...);
}
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 1
AmdY
@AmdY
PHP и прочие вебштучки
Вроде всё верно, раз биндите на класс, а не интерфейс, можно даже не заморачиваться $this->app->singleton, в методе котроллера будет нужный инджект. В других местах пользуйтесь App::make и App::call методами
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы