Как избежать получения номера страницы в виде строки с помощью slim framework?

#php #slim

#php #slim

Вопрос:

Я использую slim 2.x framework для разработки веб-сервиса. Когда я использую метод запроса ‘get’, он работает нормально, но все получаемые параметры являются строковыми. Я хочу, чтобы параметр ‘page’ был числовым значением. Как изменить это в slim. Ниже приведен мой код.

 $app->get('/listings','getListings');
/* Run the application */
$app->run();

function getListings(){
global $api_obj;//api obj
$response = array();//array
$app = SlimSlim::getInstance();
$req = $app->request;
$page = $req->get('page');
$response = $api_obj->api_Listings($page); //return
echoResponse(200, $response);
}
  

Ответ №1:

Вы можете использовать простое приведение, чтобы получить из него целое число:

 $page = (int)$req->get('page');

//or

$page = intval($req->get('page'));
  

Пример: https://3v4l.org/cUqVA

Комментарии:

1. пробовал оба, по-прежнему безрезультатно, но при добавлении страницы no как статической, она работает нормально. например. $response = $api_obj->api_Listings(10);

2. да, это рабочий метод. Но в slim framework я не знаю, что с ним не так?

3. Это не проблема с slim framework, а скорее проблема с тем, как PHP манипулирует типами.