【PHP】tp5 开发接口,怎么输出 json 数据
天蓬老师
天蓬老师 2017-04-11 10:30:04
[PHP讨论组]

现有 PHP 数组如下:

$arr = array(
    'name'=> '李四',
    'sex'=> '女'
);

控制器里要输出 json 数据,通常是用return方法:

return json($arr);

但是现在我的控制器a要继承一个公共控制器b,假设公共控制器 b 有test()方法,在这个方法里要输出 json 数据,如:return json($arr);

我现在要在控制器 a 里调 test() 方法,这时候return 就不会输出数据,只是返回数据

如果要在 test() 方法里输出 json 数据,怎么写?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(5)
巴扎黑

echo json_encode($arr);

PHPz

TP3可以使用thinkphp内置的方法 $this->ajaxReturn($data); 不用return。TP5可以用$this->response();返回json数据。

PHP中文网

tp5里面有个助手函数json(),直接return json($array)就可以了

迷茫

不是很明白你想实现的意思:

建控制器common 和 index
common代码如下

<?php
namespace app\index\controller;
class Common {
    public function test() {
        return json(array('a'=>1,'b'=>2,'c'=>3));
    }
}

直接访问index/common/test是可以访问json格式的。
也可以用子代访问如下:
index如下

<?php
namespace app\index\controller;
class Index extends Common
{  
    public function index() {
        return parent::test();
    }
}
ringa_lee

a调用b->test(),想在b->test()直接输出是不可能的。php会先在a得到b的返回值。除非你直接b->test()函数里面直接exit,不然不可能实现

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号