Я просто новичок в стройке Slim. Я написал один API, используя Slim framework.
Запрос на POST подходит к этому API из приложения iPhone. Этот запрос POST находится в формате JSON.
Но я не могу получить доступ к параметрам POST, которые отправляются в запросе с iPhone. Когда я попытался напечатать значения параметров POST, я получил "нуль" для каждого параметра.
$allPostVars = $application->request->post(); //Always I get null
Затем я попытался получить тело предстоящего запроса, преобразовать тело в формат JSON и отправить его обратно в ответ на iPhone. Затем я получил значения параметров, но они находятся в очень странном формате следующим образом:
"{\"password\":\"admin123\",\"login\":\"[email protected]\",\"device_type\":\"iphone\",\"device_token\":\"785903860i5y1243i5\"}"
Итак, одна вещь наверняка - параметры запроса POST поступают в этот файл API. Хотя они недоступны в $application->request->post()
, они попадают в тело запроса.
Моя первая проблема заключается в том, как мне получить доступ к этим параметрам POST из тела запроса, а вторая проблема - почему данные запроса отображаются в таком странном формате, как указано выше, после преобразования тела запроса в формат JSON?
Ниже приведен фрагмент кода:
<?php
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
//Instantiate Slim class in order to get a reference for the object.
$application = new \Slim\Slim();
$body = $application->request->getBody();
header("Content-Type: application/json");//setting header before sending the JSON response back to the iPhone
echo json_encode($new_body);// Converting the request body into JSON format and sending it as a response back to the iPhone. After execution of this step I'm getting the above weird format data as a response on iPhone.
die;
?>