[snippet] Wyciąganie parametrów

10-19-2009 - autor: Piotr Plenik Zostaw odpowiedź »

Jak wyciągnąć parametr z sfWebRequest:

  1. Najprościej:
$this->getRequest()->getParameter(‘category_id’);
  1. Gdy mamy grupowanie:
$this->getRequest()->getParameter(‘product[category_id]‘);
  1. Gdy mamy wiele w grupie:
$product_params = $request->getParameter(‘product’);
$cat_id = $product_params[category_id];
$name = $product_params[name];

Na koniec coś, co pojawiło się w Jobeet, a nie ma w dokumentacji formsów.

Zamiast:

$this->form->bind($request->getParameter(‘nazwa_formularza’));

możesz pisać:

$this->form->bind($request->getParameter($this->form->getName()));
Publikuj w:
  • Wykop
  • del.icio.us
  • Facebook
  • Twitter
  • Technorati
  • MySpace
  • Google Bookmarks

2 komentarzy

  1. retfos mówi:

    Warto dodać, że ostatni trick ma zastosowanie w przypadku kiedy zmienne w sfWebRequest są przekazywane w tablicy. Zresztą zaglądając do źródła można się zorientować, że nie jest to zbyt wyszukane rozwiązanie.

    Niemniej jest pomocne i od dziś stosuję.

  2. pit mówi:

    Czasem nie mamy możliwości dostania się do obiektu sfRequest bo jesteśmy np. poza klasą akcji (sfActions). Obiekt sfRequest znajduje się w kontekscie aplikacji i wyciągniemy go w ten sposób:

    “sfContext::getInstance()->getRequest()”

    Oczywiście można też odrazu sięgnąć po parametr:

    “sfContext::getInstance()->getRequest()->getParameter( ‘param_name’ )”

Dodaj komentarz