PHP Flight Micro框架将POST数据作为数组

时间:2014-09-17 20:36:48

标签: php flightphp

我正在使用PHP Flight微框架(http://flightphp.com/)。在POST请求中,可以使用Flight :: request() - > data(http://flightphp.com/learn#requests)检索变量。原样,它似乎是键入的:flight\util\Collection Object。当我将此数据传递给另一个类时,我想将其转换为标准的关联数组。我可以直接通过数据,但有更好的方法吗?实现这一目标的最佳方法是什么?我问的是错误的问题吗?

4 个答案:

答案 0 :(得分:2)

您可以使用Collection::getData()

获取内部数组
Flight::request()->data->getData();

答案 1 :(得分:1)

您可以将flight\util\Collection Object转换为数组,将其转换为数组。

例如尝试:

$myArray = (array)Flight::request()->data;
// Sometimes you need to pop the first element
$myArray = array_pop($myArray);

答案 2 :(得分:-1)

你可以使用$ _POST [],从标准的php开始。 http://se1.php.net/manual/en/reserved.variables.post.php

答案 3 :(得分:-1)

你不需要另一个类,你可以使用自己的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);
});
?>