使用PUT--C#->;通过C#HttpWebRequest在PHP中检索数据;使用slimrest框架的PHP

使用PUT--C#->;通过C#HttpWebRequest在PHP中检索数据;使用slimrest框架的PHP,c#,php,put,slim,C#,Php,Put,Slim,我是Slim的新手,在使用“PUT”通过httpwebrequest检索发送数据时遇到了一些问题。我知道http不是rest!;)我知道数据发送正确。那么,我错过了什么?是的,我可以通过标题发送所有数据,但我不想使用这种变通方法 我就是这么做的: C#: 在使用POST或GET(当然)时效果非常好,例如 但我需要像这样的东西 $_PUT['test'] …我怎么能这么做? 我相信有一个解决办法,我想可能会有人在这方面有问题 提前谢谢你帮我!:) …找到了它: 我做了一些研究,并再次阅读了本教程

我是Slim的新手,在使用“PUT”通过httpwebrequest检索发送数据时遇到了一些问题。我知道http不是rest!;)我知道数据发送正确。那么,我错过了什么?是的,我可以通过标题发送所有数据,但我不想使用这种变通方法

我就是这么做的:

C#:

在使用POST或GET(当然)时效果非常好,例如

但我需要像这样的东西

$_PUT['test']
…我怎么能这么做? 我相信有一个解决办法,我想可能会有人在这方面有问题

提前谢谢你帮我!:)

…找到了它: 我做了一些研究,并再次阅读了本教程(…一次又一次…一次又一次…)

我所要做的就是使用这个简洁的函数来获取身体信息来解析这些东西:

function verifyRequiredParams($required_fields) {
    $error = false;
    $error_fields = "";
    $request_params = array();
    $request_params = $_REQUEST;
    // Handling PUT request params
    if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
        $app = \Slim\Slim::getInstance();
        parse_str($app->request()->getBody(), $request_params);
    }
    foreach ($required_fields as $field) {
        if (!isset($request_params[$field]) || strlen(trim($request_params[$field])) <= 0) {
            $error = true;
            $error_fields .= $field . ', ';
        }
    }

    if ($error) {
        // Required field(s) are missing or empty
        // echo error json and stop the app
        $response = array();
        $app = \Slim\Slim::getInstance();
        $response["error"] = true;
        $response["message"] = 'Required field(s) ' . substr($error_fields, 0, -2) . ' is missing or empty';
        echoRespnse(400, $response);
        $app->stop();
    }
}
if(isset($_POST['test']))
echo $_POST['test'];
$_PUT['test']
function verifyRequiredParams($required_fields) {
    $error = false;
    $error_fields = "";
    $request_params = array();
    $request_params = $_REQUEST;
    // Handling PUT request params
    if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
        $app = \Slim\Slim::getInstance();
        parse_str($app->request()->getBody(), $request_params);
    }
    foreach ($required_fields as $field) {
        if (!isset($request_params[$field]) || strlen(trim($request_params[$field])) <= 0) {
            $error = true;
            $error_fields .= $field . ', ';
        }
    }

    if ($error) {
        // Required field(s) are missing or empty
        // echo error json and stop the app
        $response = array();
        $app = \Slim\Slim::getInstance();
        $response["error"] = true;
        $response["message"] = 'Required field(s) ' . substr($error_fields, 0, -2) . ' is missing or empty';
        echoRespnse(400, $response);
        $app->stop();
    }
}
$app->put('/someendpoint', function ($somevar) use($app){

    verifyRequiredParams(array('test'));
    $test= $app->request->put('test');
    echo $test;
});