Я использую symfony 2 для проекта. У меня есть контроллер, где я делаю несколько проверок перед каждой функцией, а то, что я хочу, - это сделать огонь symfony, который работает по каждому запросу этого контроллера. Напримерчто-то похожее на конструктор в конструкторе Symfony 2
class ChatController extends Controller
{
public function put()
{
$user = $this->getUser();
$this->checkSomething(); //just a custom function
$this->checkSomethingElse(); //another custom function
// do something
}
public function get()
{
$user = $this->getUser();
$this->checkSomething(); //just a custom function
$this->checkSomethingElse(); //another custom function
// do something
}
}`
Я хочу, чтобы достичь того же, как:
class ChatController extends Controller
{
private $user;
public function init()
{
$this->user = $this->getUser();
$this->checkSomething(); //just a custom function
$this->checkSomethingElse(); //another custom function
}
public function put()
{
//here i can access $this->user
// do something
}
public function get()
{
//here i can access $this->user
// do something
}
}`
Поэтому в основном то, что я хочу, чтобы сделать функцию вести себя как конструктор. Это можно сделать в Symfony2?
Это должно быть возможно, проверьте ядро и перехватчики, но вам может потребоваться немного изменить свой дизайн. См. [Диспетчер событий] (http://symfony.com/doc/current/cookbook/event_dispatcher/index.html) в кулинарной книге и [Компонент диспетчера событий] (http://symfony.com/doc/current/components /event_dispatcher/index.html). – hakre