&引用;“闪光”:在Slim PHP微框架的模板内调用json_encode时,{}被添加到我的json输出中

&引用;“闪光”:在Slim PHP微框架的模板内调用json_encode时,{}被添加到我的json输出中,php,json,mongodb,slim,Php,Json,Mongodb,Slim,我试图从Mongodb集合中读取一些数据,并将结果返回到我的RESTAPI。查询完我的用户集合中的所有文档后,我将生成的数组发送到我的模板(这里是Slim microframework),最后调用json_encode()发送并创建响应。这是我的密码: <?php require 'vendor/autoload.php'; //instancia o objeto Slim $app = new \Slim\Slim(array( 'templates.path' =>

我试图从Mongodb集合中读取一些数据,并将结果返回到我的RESTAPI。查询完我的用户集合中的所有文档后,我将生成的数组发送到我的模板(这里是Slim microframework),最后调用json_encode()发送并创建响应。这是我的密码:

<?php

require 'vendor/autoload.php';

//instancia o objeto Slim
$app = new \Slim\Slim(array(
    'templates.path' => 'templates'));

//List users
$app->get('/', function () use ($app) {
    $mongo = new MongoClient('mongodb://user:pass@localhost:27017');
    $db = $mongo->mydatabase;
    $col = $db->users;
    $cursor = $col->find();
    $data = iterator_to_array($cursor, true);
    $app->render('default.php', $data, 200);
});

//run Slim
$app->run();

?>
谁能告诉我这个“闪光:{}”是从哪里来的吗?我怎样才能让它消失?!
谢谢。

Slim为渲染输出添加了
flash
变量。您可以禁用Flash中间件,但我认为您实际上希望使用渲染视图而不是渲染视图:

<?php
    $app->get('/', function () use ($app) {
        $mongo = new MongoClient('mongodb://user:pass@localhost:27017');
        $db = $mongo->mydatabase;
        $col = $db->users;
        $cursor = $col->find();
        $data = iterator_to_array($cursor, true);
        $app->response->headers->set('Content-Type', 'application/json; charset=utf-8')

        // print or echo output will be appended to Response
        echo json_encode($data);

        // Alternatively, explicitly set the Response body:
        // $app->response->setBody(json_encode($data));
    });
?>

{
flash: {}
54b71d4e097a4dcd4bf49684: {...}-
54bc5bd5cdce605e70325c4e: {...}-
}
<?php
    $app->get('/', function () use ($app) {
        $mongo = new MongoClient('mongodb://user:pass@localhost:27017');
        $db = $mongo->mydatabase;
        $col = $db->users;
        $cursor = $col->find();
        $data = iterator_to_array($cursor, true);
        $app->response->headers->set('Content-Type', 'application/json; charset=utf-8')

        // print or echo output will be appended to Response
        echo json_encode($data);

        // Alternatively, explicitly set the Response body:
        // $app->response->setBody(json_encode($data));
    });
?>