51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

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

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

                      <?php
namespace app;

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

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

}

                &lt;/code&gt;
              &lt;/pre&gt;

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

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-&gt;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'=&gt;1,
                        'errorcode'=&gt;$e-&gt;getCode(),
                        'message'=&gt;$e-&gt;getMessage(),
                        'result'=&gt;[]
                    ];
                    return json($return_data);
                }
                break;
            default:
                return parent::render($request, $e);
                break;
        }
}

                &amp;lt;/code&amp;gt;
              &amp;lt;/pre&amp;gt;

赞(3)
未经允许不得转载:工具盒子 » Thinkphp6多应用模式:按照应用去处理异常 方法