Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][SF2][Symfony2] Command - przekazywanie danych strony do metody execute, Jak przekazywać dane ze strony www do metody klasy Command
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Mam klasę Command, którą będzie uruchamiał CRON na serwerze produkcyjnym.
W klasie Command mam metodę execute w której mam odpowiednie zadania do zrealizowania.
Jak przekazać do metody execute parametry z mojej aplikacji WWW ?
Wiem że metoda execute przyjmuje dwa parametry input i output - rozumiem że to z nich trzeba skorzystać tylko nie wiem za bardzo jak.

Przykładowo w aplikacji na głównej stronie mam wyświetlaną datę i jakieś ID/Numer - wartości obu parametrów będą się zmieniać.
I teraz chciałbym te parametry przekazać do metody klasy Command , która wykonuje zadania za pomocą CRONa.

Jak pobrać te dane (data,numer) ze strony i przekazać je jako parametry do metody execute klasy Command ?
A może nie tak to się robi ?

Ten post edytował damianooo 18.11.2017, 12:53:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damianooo
post
Post #2





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


ok .. widzę że moja klasa dziedziczy po ContainerAwareCommand:

  1. class CronCommand extends ContainerAwareCommand{


W projekcie mam tak że w bazowym pliku szablonu TWIG base.html.twig mam wywoływaną funkcję z szablonu Twig Extension, która wyciąga mi obecny numer kolejki (kolejka piłkarska).

AppExtension.php

  1. class AppExtension extends \Twig_Extension{
  2. ...
  3. public function getFunctions()
  4. {
  5. return array(
  6. new \Twig_SimpleFunction('curr_matchday', array($this, 'getCurrentMatchday')),
  7. ....
  8. }
  9.  
  10. // get current matchday
  11. public function getCurrentMatchday(){
  12. $repository = $this->doctrine->getRepository('AppBundle:Matchday');
  13. $matchday = $repository->getMatchday();
  14.  
  15. return $matchday;
  16. }


base.html.twig

  1. <div id="info_02">
  2. {% block info %}
  3. ...
  4. Kolejka {{ curr_matchday().name }}/15
  5. ...
  6. {% endblock %}
  7. </div>


Może jeszcze wrzucę jak wygląda metoda wywoływanej w TwigExtension metody klasy Repository:

  1. class MatchdayRepository extends EntityRepository
  2. {
  3. // pobranie obecnej kolejki
  4. public function getMatchday(){
  5. $today = new \DateTime('now');
  6. $qb = $this->createQueryBuilder('m');
  7. $qb->select('m.id AS id'
  8. ,'m.name AS name'
  9. ,'m.dateFrom AS dateFrom'
  10. ,'m.dateTo AS dateTo'
  11. ,'s.id AS season_id'
  12. )
  13. ->innerJoin('m.season', 's')
  14. ->where('m.dateFrom > :today')
  15. ->setMaxResults(1)
  16. ->setParameter('today', $today->format('Y-m-d H:i:s'))
  17. ;
  18.  
  19. $result = $qb->getQuery()->getOneOrNullResult();
  20.  
  21. return $result;
  22. }
  23.  
  24. }



I jak teraz przekazać z szablonu bazowego TWIG tą wartość curr_matchday().name jako parametr do mojej metody execute w klasie Command ?

Ten post edytował damianooo 19.11.2017, 20:39:00
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 00:53