Я использую фреймворк PHP Flight (http://flightphp.com/). По запросу POST переменные могут быть получены с помощью Flight :: request () -> data (http://flightphp.com/learn#requests). Похоже, что это напечатано: flight\util\Collection Object
, Поскольку я передаю эти данные в другой класс, я хотел бы преобразовать их в стандартный ассоциативный массив. Я могу просто просмотреть данные, но есть ли лучший способ? Каков наилучший метод для достижения этой цели? Я задаю не тот вопрос?
Вы можете получить внутренний массив с помощью Collection::getData()
:
Flight::request()->data->getData();
Вы можете конвертировать flight\util\Collection Object
в массив, приведя его к массиву.
Например попробуйте:
$myArray = (array)Flight::request()->data;
// Sometimes you need to pop the first element
$myArray = array_pop($myArray);
Вы можете просто использовать $ _POST [], начиная со стандартного php.
http://se1.php.net/manual/en/reserved.variables.post.php
Яу не нужен другой класс, вы можете использовать глобальную переменную self-PHP, это легко
Я использую это как;
<?php
Flight::route('POST /post-meta', function(){
print_r($_POST);
});
?>
Образец JSON;
<?php
Flight::route('POST /report', function(){
if(isset($_POST['reportcode'])){
$id = (int)base64_decode($_POST['reportcode']);
if(Flight::db()->count() == 0){
$return['status'] = "ok";
$return['content'] = "<b>Succesfuly</b> sent your report this link"; //lang
}else{
$return['status'] = "already";
$return['content'] = "<b>Already</b> this link reported"; //lang
}
}else{
$return['status'] = 0;
}
echo json_encode($return);
});
?>