php मैं जांच कैसे कर सकता हूं कि अनुरोध POST है या Symfony2 या Symfony3 में अनुरोध प्राप्त करें




request http-post (4)

चूंकि उत्तर getRequest() का उपयोग करने के लिए सुझाव दिया गया है, जिसे अब हटा दिया गया है, आप इसे इसके द्वारा कर सकते हैं:

$this->get('request')->getMethod() == 'POST'

मैंने सोचा कि क्या एक बहुत आसान तरीका है (सबसे अच्छा: यह एक साधारण $this->container->isGet() मैं कॉल कर सकता हूं) यह निर्धारित करने के लिए कि अनुरोध $_POST या $_GET अनुरोध है या नहीं।

दस्तावेज़ों के मुताबिक,

एक अनुरोध ऑब्जेक्ट क्लाइंट अनुरोध के बारे में जानकारी रखता है। इस जानकारी को कई सार्वजनिक गुणों के माध्यम से एक्सेस किया जा सकता है:

  • request : $_POST बराबर;
  • query : $_GET बराबर ( $request->query->get('name') );

लेकिन अगर मैं if($request->request) या if($request->query) जांचने के लिए उपयोग नहीं कर पाऊंगा, क्योंकि अनुरोध वर्ग में दोनों मौजूदा गुण हैं।

तो मैं सिम्फनी के बारे में सोच रहा था जैसे कुछ प्रदान करता है

$this->container->isGet();
// or isQuery() or isPost() or isRequest();

उपर्युक्त?


या यह:

public function myAction(Request $request)
{
    if ($request->isMethod('POST')) {

    }
}

या यह:

use Symfony\Component\HttpFoundation\Request;

$request = Request::createFromGlobals();

    if ($request->getMethod() === 'POST' ) {
}

यदि आप इसे नियंत्रक में करना चाहते हैं,

$this->getRequest()->isMethod('GET');

या अपने मॉडल (सेवा) में, अनुरोध मॉडल को अपने मॉडल पर पहले इंजेक्ट या पास करें, फिर उपरोक्त की तरह ही करें।

संपादित करें : सिम्फनी 3 के लिए इस कोड का उपयोग करें

if ($request->isMethod('post')) {
    // your code
}






http-get