Прежде чем я начну, я хочу сообщить вам, что я действительно нуб в PHP
, и это первый API, который я создаю.
Это работает довольно хорошо, если я хочу отобразить один массив информации (например, сведения о еде), но когда я пытаюсь сделать то же самое с несколькими предметами, он возвращается пустым.
Я проверил значения переменных в отладке.Это нормально в отладке, и я вижу массив, который содержит несколько вложенных массивов.
Мой код
$app->get('/allfoods', 'authenticate', function () use ($app) {
global $user_id;
$db = new FoodHandler();
// In here i get foods with their details via mysql
$result = $db->GetAllFoods();
$response = array();
$response["error"] = false;
$response["foods"] = array();
// looping through result and preparing food array
while ($row = $result->fetch_assoc()) {
$tmp = array();
$tmp['food_id'] = $row['food_id'];
$tmp['food_name'] = $row['food_name'];
$tmp['food_desc'] = $row['food_desc'];
$tmp['food_category'] = $row['food_category'];
$tmp['food_creationDate'] = $row['food_creationDate'];
array_push($response["foods"], $tmp);
}
echoRespnse(200, $response);});
Моя функция вывода (которая прекрасно работает, если в моем массиве нет массива)
function echoRespnse($status_code, $response) {
$app = \Slim\Slim::getInstance();
// Http response code
$app->status($status_code);
// setting response content type to json
$app->contentType('application/json');
echo json_encode($response);
}
$app->run();?>
Каковы мои настройки?
- Localhost wamp с php 7.2.4
- Apache 2.4.33
- Mysql 5.7.21
Я также используюПочтальон, чтобы отправить мой запрос (я тоже пробовал в C#
, оба возвращают пустой контент)