[Symfony2][Symfony]CommandConsole wstrzyknięcie doctrine |
[Symfony2][Symfony]CommandConsole wstrzyknięcie doctrine |
18.10.2015, 15:38:47
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%) |
Chce zrobić cron task przy użyciu symfony, symfony ma odpytać odpowiednie API pobrać dane i zapisać je do bazy.. Problem w tym, że nie mogłem wstrzyknąć doctrine do mojego kodu więc wpadłem na pomysł że mogę zrobić osobny serwis do którego wstrzyknę. Zrobiłem sobie na szybko CronTaskService wrzuciłem do niego konstruktor by sprawdzić czy działa.
W CommandConsole mam taki kodzik:
I jest problem bo pluję się że w do seriwsu nie jest wstrzyknięty doctrine. Macie jakies pomysły jak to rozwiązać? Dodam że przy korzystaniu z ContainerAwareCommand wywali mi to : PHP Fatal error: Call to undefined method Symfony\Component\Console\Application::getKernel() |
|
|
18.10.2015, 16:43:15
Post
#2
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) |
-------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
18.10.2015, 17:44:23
Post
#3
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%) |
Czytanie też nie boli, napisałem że wywali mi że nie ma metody getKernel.. a powinna ona się znajdować w ContainerAwareCommand
PHP Fatal error: Call to undefined method Symfony\Component\Console\Application::getKernel() |
|
|
18.10.2015, 18:59:31
Post
#4
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) |
$this->getContainer()->get('kernel'); ?
-------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
18.10.2015, 19:09:25
Post
#5
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%) |
To zwróciło mi bład: $this->getContainer()->get('logger');
|
|
|
18.10.2015, 20:21:57
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Bo logger też jest servicem o ile dobrze kojarzę i też musi być wstrzykiwany. Czasem zresztą trzeba się przyjrzeć, bo niekoniecznie wszystko wstrzykuje się przez konstruktor, ale jako dodatkowe wywołanie odpowiedniego settera, już po wywołaniu konstruktora.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
19.10.2015, 16:44:33
Post
#7
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%) |
Okej czyli z tego console command mam zrobić serwis do którego wstrzynke logger? Bo według dokumentacji powinno pójść tym co ja napisałem ale widocznie dokumentacja słabo to opisuje.
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 12:21 |