Thinkphp6多应用模式:按照应用去处理异常 方法

1、文件路径: app/Request.php

<?php
namespace app;

// 应用请求对象类
class Request extends \think\Request
{
    protected $filter = ['htmlspecialchars'];

    
    /***获取当前的应用名称
     * 
     * 使用方法:  $request->app_name();或 Request::app_name();
     * 
     */
    public function app_name()
    {
        return App('http')->getName();
    }


}

 

此处要先处理 获取 应用名称,然后根据应用名称来处理。

2、文件路径: app/ExceptionHandle.php

 /**
     * Render an exception into an HTTP response.
     *
     * @access public
     * @param \think\Request   $request
     * @param Throwable $e
     * @return Response
     */
    public function render($request, Throwable $e): Response
    {
        // 获取当前访问应用
        $app_name = $request->app_name();
        switch ($app_name) {
            case 'manage':
                return parent::render($request, $e);
                break;
            case 'home':
                $debug_status = env('APP_DEBUG',false);
                if($debug_status){
                    //调试模式下显示错误信息
                    return parent::render($request, $e);
                }else{
                    $return_data = [
                        'status'=>1,
                        'errorcode'=>$e->getCode(),
                        'message'=>$e->getMessage(),
                        'result'=>[]
                    ];
                    return json($return_data);
                }
                break;
            default:
                return parent::render($request, $e);
                break;
        }

       
    }
    A+
发布日期:2020年07月04日 08:16:42  所属分类:ThinkPHP框架
最后更新时间:2020-07-04 08:16:42
头像
  • ¥ 98.0元
  • 市场价:298.0元
  • ¥ 189.0元
  • 市场价:269.0元
  • ¥ 149.0元
  • 市场价:299.0元
  • ¥ 79.0元
  • 市场价:129.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: