Wpis z mikrobloga

Witajcie mirki.
Mam sobie kontroller #symfony2. W kontrolerze mam różne metody. Prawie w każdej z metod korzystam z obiektu User i EntityManager (chyba), w tym celu w każdej z metod piszę takie dwie linijki kodu:

$em = $this->getDoctrine()->getManager();
$user = $this->get('security.token_storage')->getToken()->getUser();

Czy można w klasie jakoś "globalnie" zadeklarować te zmienne i korzystać z nich w każdej z metod czy jestem skazany na tworzenie tych samych obiektów w każdej z metod?

#php #webdev #oop
  • 13
@anonim1133: Jeżeli mam kontroler z metodą indexAction(), która zostaje wywołana gdy ktoś wejdzie na główną stronę i napiszę w klasie konstruktor, to nie jestem pewien, że zmienne zadeklarowane w kontruktorze będą dostępne w całej klasie (niestety, ale nie do końca rozumiem jak działa framework). Po prostu jestem leniwym człowiekiem i chciałem sobie oszczędzić pisania kodu i jeżeli w klasie w każdej albo prawie każdej metodzie robię coś z użytkownikiem, to wolałbym
napiszę w klasie konstruktor, to nie jestem pewien, że zmienne zadeklarowane w kontruktorze będą dostępne w całej klasie (niestety, ale nie do końca rozumiem jak działa framework)


@mariecziek: Mogłeś od razu napisać, że Ty nie masz pojęcia o php to bym się nie trudził z odpowiadaniem.
@stacktrace: Gdybym miał pojęcie, to nie pytałbym. Zmieniłem pracę, żeby się podszkolić w PHP, ale w tej pracy nikt nawet nie sprawdza mego kodu i nie mówi mi co robię dobrze, a co robię źle, więc muszę uczyć się na własnych błędach i pytać na mirko ( ͡° ͜ʖ ͡°)
@mariecziek: ja bym to tak zostawił, po co masz kombinować i robić kod mniej czytelnym? Tak od razu widać co jest przypisane do tego em i user. BTW user możesz skrócić do takiego zapisu: $this->getUser();