[SF2][SF] Wywoływanie metody bundla przy każdej odsłonie |
[SF2][SF] Wywoływanie metody bundla przy każdej odsłonie |
25.02.2015, 14:57:05
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 24.07.2014 Ostrzeżenie: (0%) |
Tytuł topica jest bardzo treściwy. Chcę to zrobić w sposób najbardziej elastyczny, jak tylko się da.
Chcę, aby konkretna metoda konkretnego bundla była uruchamiana przy każdej odsłonie. Nie chcę tego robić w sposób łopatologiczny. Wolę to zrobić porządznie, wykrzystując mechanizmy Symfony. Czy ma ktoś jakiś pomysł? Znalazłem komponent: event_dispatcher - czy mam iść w tym kierunku? Czy mógłbym prosić o prosty kod? |
|
|
25.02.2015, 15:29:08
Post
#2
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) |
Tak, masz iść w tym kierunku. Prosty kod znajdziesz w dokumentacji, zwłaszcza w cookbooku.
|
|
|
25.02.2015, 16:18:01
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 24.07.2014 Ostrzeżenie: (0%) |
Czy możesz mi podać linka?
Specyfikacja jest bardzo długa, jestem dopiero po przeczytaniu kilku artykułów, a akurat tego teraz potrzebuję |
|
|
25.02.2015, 20:33:16
Post
#4
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) |
Np. http://symfony.com/doc/current/cookbook/se...t_listener.html i wyszukanie tego nie stanowi żadnego problemu.
Ten post edytował destroyerr 25.02.2015, 20:33:47 |
|
|
26.02.2015, 08:35:51
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 24.07.2014 Ostrzeżenie: (0%) |
Stworzyłem dwa pliki, dodałem linijki kodu do services.yml, usunąłem cache, ale nie wywołuje się akcja.
Mimo takiego kodu, nie pojawia się tekst zadeklarowany w jej wnętrzu. Chcę, aby jedna metoda uruchamiała się sama przy każdym odświeżeniu. Ten post edytował pegaz1988 26.02.2015, 08:36:05 |
|
|
26.02.2015, 09:05:42
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
Pokaż jeszcze jak podpiąłeś tę klasę w services.yml.
|
|
|
26.02.2015, 11:11:44
Post
#7
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 24.07.2014 Ostrzeżenie: (0%) |
Kod kernel.listener.your_listener_name: class: AntiBotBundle\EventListener\AcmeExceptionListener tags: - { name: kernel.event_listener, event: kernel.exception, method: onKernelException } Bundle istnieje, klasa i pliki również Ten post edytował pegaz1988 26.02.2015, 11:11:58 |
|
|
26.02.2015, 11:19:06
Post
#8
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 40 Dołączył: 20.08.2008 Ostrzeżenie: (0%) |
Klasa, którą pokazałeś wcześniej nazywa się AcmeRequestListener, natomiast ta w services.yml AcmeExceptionListener. Poza tym chcesz, żeby twoja metoda się wykonała za każdym uruchomieniem, a nie na kernel.exception, więc zastąp to kernel.request.
Tutaj masz wszystkie możliwe eventy dotyczące kernela. Ten post edytował ikssde 26.02.2015, 11:22:38 |
|
|
26.02.2015, 11:41:35
Post
#9
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 24.07.2014 Ostrzeżenie: (0%) |
świetnie, teraz działa; zmylił mnie podany przykład w specyfikacji;
Symfony to taki kombajn, że chyba po roku ciężkiej pracy coś mi się uda w nim porządnego zrobić |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 11:13 |