2012-06-27 49 views
55

2 denetleyicileri tüm istek parametrelerini alma, her seferinde hemen gitmem gerek görevinden bir değer elde etmek istiyorum bir dizi? Zend'in getParams() gibi bir şey?symfony olarak Symfony 2

cevap

121

Tüm POST paramlarını almak için tüm GET params ve $this->getRequest()->request->all(); almak için $this->getRequest()->query->all(); yapabilirsiniz. Talep sınıfı hakkında daha fazla bilgi için

$params = $this->getRequest()->request->all(); 
$params['value1']; 
$params['value2']; 

, en iyi uygulama İsteği ki eylem ile bir argüman olarak geçirilen gibi yeni Symfony'nin 2.6+ sürümleri ile http://api.symfony.com/2.8/Symfony/Component/HttpFoundation/Request.html

+7

almak için yoldaki parametreleri (örneğin/mesajların/{değerleri id}) '$ kullanın request-> öznitelikleri üzerinden> Tüm() '. Bu veriyi elde etmenin tek yolu olan '$ request-> get() 'ı kullandım ve buraya başka bir yol arıyordum. – Dreen

+1

Çok fazla yazı yazdınız! : D –

+0

Bu, multipart/form-data ile çalışmıyor. –

6

bkz: Yani sizin durumda

vaka açıkça $ this- aramaya gerek olmayacak> getRequest(), daha çok çağrı $ request-> request-> tüm()

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\HttpFoundation\Request; 
use Symfony\Component\HttpFoundation\Response; 
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; 
use Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException; 
use Symfony\Component\HttpFoundation\RedirectResponse; 

    class SampleController extends Controller 
    { 


     public function indexAction(Request $request) { 

      var_dump($request->request->all()); 
     } 

    }