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




request http-post (4)

मैंने सोचा कि क्या एक बहुत आसान तरीका है (सबसे अच्छा: यह एक साधारण $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();

उपर्युक्त?


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

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

तुम यह कर सकते थे:

if($this->request->getRealMethod() == 'post') {
    // is post
}

if($this->request->getRealMethod() == 'get') {
    // is get
}

सिम्फनी एपीआई पेज पर request ऑब्जेक्ट के बारे में बस कुछ पढ़ें।


या यह:

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

    }
}

या यह:

use Symfony\Component\HttpFoundation\Request;

$request = Request::createFromGlobals();

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




http-get