2017-06-15 11 views
5

सिम्फोनी परियोजना में मैं एक PUT विधि है और मैं इस तरह के डेटा को पढ़ने की कोशिश:परीक्षण सिम्फोनी में डाल 'php: // इनपुट' खाली

$data = file_get_contents('php://input'); 

जब मैं डाकिया यह काम करता है का उपयोग करें, अनुरोध में है form-data:

कुंजी: data

मूल्य: {"es_title":"edit","es_text":"text edit"}

लेकिन जब मैं इस परियोजना में WebTestCase साथ कोशिश नहीं काम करता है,PUT विधि मेंखाली है। मैं टेस्ट में इस तरह का प्रयास करें:

$data = array(
     "data" => '{"es_title":"edit","es_text":"edit"}'); 
$this->client->request('PUT', $url, $data, array(), array('HTTP_apikey' => $apikey)); 

इसके अलावा, मैं

$data = array(
     'data' => json_encode(array(
      'es_title' => 'edit', 
      'es_text' => 'edit' 
     )) 
    ); 

$this->client->request('PUT', $url, $data, array(), array('HTTP_apikey' => $apikey)); 

मैं परीक्षा उत्तीर्ण कर सकते हैं कैसे की कोशिश?

उत्तर

4

एक PUT से डेटा प्राप्त करने के लिए मैं नियंत्रक के अंदर इस का उपयोग करें:

$params = [ 
     'es_title' => 'edit', 
     'es_text' => 'edit', 
    ]; 

    $this->client->request(
     'PUT', 
     $url, 
     [], 
     [], 
     [ 
      'CONTENT_TYPE' => 'application/json', 
      'HTTP_X-Requested-With' => 'XMLHttpRequest' 
     ], 
     json_encode($params) 
    ); 
:

$putData = json_decode($request->getContent(), true); 

एक testcase मैं इस का उपयोग से अनुरोध करने के लिए

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