分层控制器,为什么无法用return

浏览:555 发布日期:2018/05/17 分类:ThinkPHP5专区 关键字: 分层控制器
5.1.12 - 5.1.13这两个版本都只能通过echo来返回数据,return返回一个大白页

路由return [
// api版本路由
    'api/[:version]/[:controller]/[:action]'=>'api/index/index',// api入口

];
自动分配分层控制器目录    //自动加载请求的api版本、类、方法
    public function autoLoad()
    {
        $version = request()->param('version');
        $controller = request()->param('controller');
        $action = request()->param('action')?request()->param('action'):'index';
        if (empty($version) || empty($controller)){
            echo json_encode(['code'=>0,'msg'=>'请查看接口文档'],JSON_UNESCAPED_UNICODE); //这里用return也不行
        } else{
            //调用对应的分层控制器
            $obj = controller($controller,$version);
            $obj->$action();
        }
    }
被调用的api控制器    public function index()
    {
        return App::VERSION;
    }
这里用return显示大白页,echo显示版本号。我这个模块继承了common模块的一个类,是不是跟这个有关系

目录结构 --又发不了图片了
api
-- controller
-- index.php
-- v1
-- index.php
-- v2
最佳答案
评论( 相关
后面还有条评论,点击查看>>