Внедрение зависимостей в контроллеры Silex

1

Мне нужна помощь с контроллерами Silex. Вот мой код:

$app->get('/','AppComponents\Controllers\HelloController::index' );

Все, что я хочу, это то, что мой класс контроллера имел доступ к объекту Silex\Apllication.

Я хотел бы добавить его в конструктор следующим образом:

class HelloController{

protected $app; 

function __construct(Application $app) {
    $this->app = $app;
}

Но этот код не работает. Напротив, если я добавляю приложение в свой метод моего контроллера, как это

 function index(Silex\Application $app) {
    return  new Response("hello");
}

Оно работает.

Есть ли способ вставить объект приложения непосредственно в мою конструкторскую функцию?

Теги:
frameworks
silex

1 ответ

2

Вы должны определить контроллеры как службы. Это объясняется в документации.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню