&引用;“闪光”:在Slim PHP微框架的模板内调用json_encode时,{}被添加到我的json输出中
我试图从Mongodb集合中读取一些数据,并将结果返回到我的RESTAPI。查询完我的用户集合中的所有文档后,我将生成的数组发送到我的模板(这里是Slim microframework),最后调用json_encode()发送并创建响应。这是我的密码:&引用;“闪光”:在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' =>
<?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));
});
?>