2012-06-27 32 views
55

में सभी अनुरोध पैरामीटर हो रही सिम्फोनी में, हर बार जब मैं मैं चलाने की आवश्यकता पद से एक मूल्य प्राप्त करना चाहते हैं:2 नियंत्रकों Symfony 2

$this->getRequest()->get('value1'); 
$this->getRequest()->get('value2'); 

वहाँ एक बयान है कि वापसी होगी में इन मजबूत करने के लिए कोई तरीका है एक सरणी? ज़ेंड के getParams() की तरह कुछ?

उत्तर

121

सभी पोस्ट पैराम प्राप्त करने के लिए आप सभी जीईटी पैराम और $this->getRequest()->request->all(); प्राप्त करने के लिए $this->getRequest()->query->all(); कर सकते हैं।

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

अनुरोध वर्ग के बारे में अधिक जानकारी के लिए, देखें http://api.symfony.com/2.8/Symfony/Component/HttpFoundation/Request.html

+7

प्राप्त करने के लिए रास्ते में मानकों (जैसे/पदों/{के लिए मान आईडी}) '$ का उपयोग करें अनुरोध> attributes-> सभी() '। मैं '$ request-> get() 'सोच रहा था कि यह डेटा प्राप्त करने का एकमात्र तरीका था और यहां एक और तरीका तलाश रहा था। – Dreen

+1

आपने अभी बहुत सारे प्रकार को सहेजा है !!! : डी –

+0

यह मल्टीपार्ट/फॉर्म-डेटा के साथ काम नहीं कर रहा है। –

6
हाल Symfony 2.6+ संस्करणों के साथ

के रूप में एक सबसे अच्छा अभ्यास अनुरोध है कि में कार्रवाई के साथ एक तर्क के रूप पारित हो जाता है:

तो अपने मामले में

मामले आप स्पष्ट रूप से $ इस- कॉल करने के लिए की जरूरत नहीं होगी> getRequest(), बल्कि फोन $ अनुरोध> अनुरोध> सभी()

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()); 
     } 

    } 
संबंधित मुद्दे