thinkPHP6 中间件传参
可以通过给请求对象赋值的方式传参给控制器(或者其它地方),例如
中间件传参 : 前置中间件
传:
1 <?php 2 3 namespace app\http\middleware; 4 5 class Hello 6 { 7 public function handle($request, \Closure $next) 8 { 9 $request->hello = 'ThinkPHP'; 10 11 return $next($request); 12 } 13 }
后置中间件:
1 <?php 2 declare (strict_types = 1); 3 4 namespace app\index\middleware; 6 use think\facade\Session; 7 class Show 8 { 9 public function handle($request, \Closure $next) 10 { 11 $request->rows = $rows; 12 13 $response = $next($request); 14 15 $url = request()->controller().'/'.request()->action(); 16 if (!Session::has('member_name')){ 17 $currenturl = ['Product/product']; 18 if (in_array($url,$currenturl)){ 19 return redirect((string)url('Login/login')); 20 } 21 } 22 return $response; 23 } 24 }
接:
1 public function index(Request $request)
2 {
3 return $request->hello; // ThinkPHP
4 }
5 ----------------------------------------------------------------------------
6 public function index()
7 {
8 return request()->hello; // ThinkPHP
9 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异