ThinkPHP5.0应用强制路由、行为、统一返回值格式

8、ThinkPHP5.0应用强制路由、行为、统一返回值格式

 

答:最近喜欢上了laravel的路由模式,发现tp5也有类似的操作。因此就动手做了一些改造,

  1、强制路由模式

   'url_route_on' => true,

  'url_route_must' => true,

   设置这两个参数便可实现tp强制路由,路由定义方式如下例:
  

//闭包
Route::get('/',function(){
    return 'Hello,world!';
});

Route::get('/test','index/Test/test');

  

  2、行为(Hook)

  这个是tp5的一个扩展,我感觉可以用来模拟中间件的作用,可以在路由里调用,实现权限验证等

  具体见tp5手册

$result = Hook::exec('app\\index\\behavior\\CheckAuth','run',$params);

  3、统一返回值格式

  在做接口开发时,统一返回值格式很有必要

  简单的做法是写一个Result类,定义一个静态方法实现统一格式

/**
     * 统一格式返回
     * @param $data
     * @param int $errorCode
     * @param string $message
     * @return array
     */
    public static function format($data, int $errorCode=0, $message=''){
        return [
            'data' => $data,
            'errorCode' => $errorCode,
            'message' => $message
        ];
    }

  默认是不能直接返回数组的,因此还需要对源代码中的Response.php做一下修改

 /**
     * 处理数据
     * @access protected
     * @param mixed $data 要处理的数据
     * @return mixed
     */
    protected function output($data)
    {
        //为统一数据返回格式,修改返回值格式
        if(is_array($data)||is_object($data)){
            return json_encode($data);
        }else{
            return $data;
        }
//        return $data;
    }

  返回值样式:

  

转载于:https://www.cnblogs.com/huqi21st/p/7274484.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值