1:门面(Facade),将动态类转化为静态类,方便静态调用,同时保持动态类的原有特性,例如构造函数__construct();
namespace app\facade;
use think\Facade;
class Test extends Facade
{
protected static function getFacadeClass()
{
return 'app\common\Test';
}
}
2:中间件(middleware)用于拦截或过滤应用的HTTP
请求,并进行必要的业务处理,比如Token验证,初始化数据操作,中英版本输出,PC手机版模板显示等等
namespace app\middleware;
class Check
{
public function handle($request, \Closure $next)
{
if (request()->isMobile()) {
$request->temp = 'm';
} else {
$request->temp = 'pc';
}
return $next($request);
}
}
中间件别名:
return [
'alias' => [
'check' => app\middleware\Check::class
],
];
执行顺序:全局中间件->应用中间件->路由中间件->控制器中间件
protected $middleware = [
'auth' => ['except' => ['hello'] ],
'check' => ['only' => ['hello'] ],
];
获取中间件相关值
request()->temp