Мне нужна помощь с контроллерами 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");
}
Оно работает.
Есть ли способ вставить объект приложения непосредственно в мою конструкторскую функцию?
Вы должны определить контроллеры как службы. Это объясняется в документации.