Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony2][Symfony]CommandConsole wstrzyknięcie doctrine
Matrix12
post
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:



  1. <?php
  2.  
  3.  
  4. namespace Acme\Console\Command;
  5.  
  6.  
  7. use Symfony\Component\Console\Input\InputArgument;
  8. use Symfony\Component\Console\Input\InputInterface;
  9. use Symfony\Component\Console\Input\InputOption;
  10. use Symfony\Component\Console\Output\OutputInterface;
  11. use Symfony\Component\Console\Command\Command;
  12.  
  13. class CronCommand extends Command
  14. {
  15. protected function configure()
  16. {
  17. $this
  18. ->setName('fetch:new')
  19. ->setDescription('Fetch new products')
  20. ;
  21.  
  22. }
  23.  
  24. /**
  25.   * @param InputInterface $input
  26.   * @param OutputInterface $output
  27.   */
  28. protected function execute(InputInterface $input, OutputInterface $output)
  29. {
  30.  
  31.  
  32. $service = new CronTaskProduct;
  33. $s = $service->init();
  34.  
  35.  
  36. $output->writeln($s);
  37.  
  38. }
  39.  
  40.  
  41. }




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()
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





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.
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 08:59