rcetra
31.01.2012, 11:56:24
Witam,
mam kłopot polegający na tym, że zrobiłem sobie serwis, wszystko super, hula jak jestem w kontrolerze. Robię go sobie za pomocą $this->get('nazwa');
Używam pakietu FOSUserBundle, gdzie u siebie nadpisuję kontroler logowania. Tam próbuję pobrać ten serwis za pomocą $this->get('nazwa') i PHP krzyczy, że:
Fatal error: Call to undefined method BDK\UserBundle\Controller\SecurityController::get() in D:\development\sfprojects\tlumacz\src\BDK\UserBundle\Controller\SecurityController.php on line 42
Jak pobrać serwis w tym miejscu?
--
Prawidłowa odpowiedź: $this->container->get('nazwa');
strife
31.01.2012, 12:02:53
W starszych wersjach Symfony, jeżeli chciałeś się dobrać do kontrolera z poziomu miejsca, w którym nie było zasięgu to robiło się to poprzez Singleton'a albo jeszcze w tej sposób?:
$controller = $this->getController()->get('nazwa');
Ja bym kopał w tym kierunku ; )
rcetra
31.01.2012, 12:19:26
Niestety, to jeszcze nie to:
Fatal error: Call to undefined method BDK\UserBundle\Controller\SecurityController::getController() in D:\development\sfprojects\tlumacz\src\BDK\UserBundle\Controller\SecurityController.php on line 42
właśnie nie wiem jak się dostać do środowiska :-(
No nic, to po prostu jakieś zamroczenie było. Prawidłowo:
$serwis = $this->container->get('nazwa');
Przepraszam za głupie pytanie.
Dobra, to jednak było głupie pytanie, odpowiedź była kilka linii wyżej:
$serwis = $this->container->get('nazwa');