Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][SF2][Symfony2]Problem z pobraniem nazwy routa.
soszin
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 1
Dołączył: 26.10.2012
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cześć,

Posiadam w swojej aplikacji MainController po którym dziedziczą inne kontrolery.

Chcialem aby w konstruktorze definiowała mi sie aktualna nazwa routa. co potem w bede wykorzystywał do podswietlania odpowiedniej pozycji w menu (i nie tylko.)
użyłem:
  1. public $currentRoute;
  2.  
  3. public function __construct() {
  4. $currentRoute = $this->container->get('request')->get('_route');
  5. $this->currentRoute = $currentRoute;
  6. }
  7.  
  8. Próbowałem tez:
  9. $currentRoute = $this->get('request')->get('_route');


Otrzymuje błłąd:
Cytat
Error: Call to a member function get() on a non-object in moja sciezka do pliku. blad w linijce: $currentRoute = $this->container->get('request')->get('_route');

Jeśli sie nie mylę to ten zapis jest poprawny.

Próbowałem tez utworzyc metode ktora zwracalaby nazwe route'a i inicjowałem ją w konstruktorze (np. $this->getCurrentRoute), która zawierała te linijki z konstruktora.

Czy ktoś mi może wskazać błąd, lub polecić inne rozwiązanie??

Wiem że bezposredno w szablonie moge pobrac aktualna nazwe Routa, jednak wolalbym tak jak wyżej podałem.

Pozdrawiam
Go to the top of the page
+Quote Post
ziolo
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 20
Dołączył: 17.01.2009
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Przecież w template dostęp do obiektu request(app.request) jest bardzo prosty.
Tu masz przykład.
http://stackoverflow.com/questions/9378714...n-twig-template


A twoje rozwiązanie nie działa. Bo próbujesz w konstrukturze obiektu odwołać się obiektu containera $this->container.
A obiekt Containera jest dopiero póżniej wstrzykiwany setterem przez Symfony .
W konstruktorze $this->container jest nullem i daltego zgłasza Ci błąd: "function on a non-object"

Ten post edytował ziolo 12.08.2014, 23:29:33
Go to the top of the page
+Quote Post
404
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


http://stackoverflow.com/questions/1117919...ony2-controller - temat sprzed dwóch lat, ale może Cię nakieruje.
http://symfony.com/blog/new-in-symfony-2-4-the-request-stack - tutaj też coś jest.
Go to the top of the page
+Quote Post
soszin
post
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 1
Dołączył: 26.10.2012
Skąd: Kraków

Ostrzeżenie: (0%)
-----


To że mogę w twigu się odwołać do obiektu request to wiedzialem. jednak mi zalezy na kontrolerze.
Ziolo dzieki za wyjaśnienie że Request jest wstrzykiwany dopiero poźniej, to faktycznie wszystko wyjaśnia.

404 - Drugi link też jest przydatny!

Dzięki Panowie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:20