php实现中间件6,说一说ThinkPHP6中五花八门的中间件_PHP开发框架教程
thinkphp配置配置多應用多配置的方法_PHP開發框架教程
一般的thinkphp框架一般都是單模塊開發的,但有時候我們可能需要進行多模塊開發,本文就來為大家介紹一下thinkphp配置多模塊、多應用的方法。在ThinkPHP6中新增中間件功能,而且中間件又分很多類型的中間件,很多新手對ThinkPHP6中間件很犯難,下面就給大家分別介紹下。
全局中間件:
我們下載好ThinkPHP6的框架后,在app目錄下就有一個middleware.php,我們在app目錄下定義的中間件叫做全局中間件,全局中間件是對所有應用都生效的中間件。
應用中間件:
那換而言之,如果我們再復制一份middleware.php放在了某個應用下,比如index應用,是不是就叫做應用中間件呢,答案是對的。
控制器中間件:
如果在控制器中操作中間件,是不是就叫做控制器中間件?
路由中間件:
那可不可以在路由中也定義中間件,比如我只想讓某個請求使用某個中間件,其他的并不想使用中間件,那也就有了路由中間件。
如果同一個請求,所有類型的中間件都定義了,那執行順序是如何呢?
全局中間件->應用中間件->路由中間件->控制器中間件
接下來我們看一個實例。
全局中間件:如何大型 Laravel 項目中組織路由_PHP開發框架教程
想象一下一個擁有 100 多個路由的 Laravel 項目,其中包括訪客,用戶,管理員等分離的模塊。你真的要將所有內容寫在在一個文件中嗎?那么如何將它們分組,并且為 URL 添加前綴呢?看看有哪些辦法。
public function handle($request, \Closure $next)
{
echo 'app全局中間件';
return $next($request);
}
應用中間件:
public function handle($request, \Closure $next)
{
echo '應用中間件';
return $next($request);
}
路由中間件:
Route::rule('hello','index/hello')
->middleware(\app\middleware\Auth::class);
控制器中間件:
在使用控制器中間件之前,我們先定義好別名,在根目錄下config\middleware.php中定義別名。這個別名其實就是增加別名標識。別名定義好后,不僅在控制器中間件可以使用,路由中間件也可以使用。
return [
'alias' => [
'auth1' => app\middleware\Auth1::class,
],
];
我們在這里定義別名中間件,就不需要在middleware.php中聲明了,而是通過在控制中使用別名定義:
class Index
{
protected $middleware = ['auth1'];
public function index()
{
return 'index';
}
public function hello()
{
echo 'hello方法';
}
}
這個時候我們訪問hello方法,輸出結果是:
app全局中間件
應用中間件
路由中間件
控制器中間件
hello方法
以上就是ThinkPHP6各種中間件的介紹,其實各種中間件并不難理解,主要在于它們之間的執行順序需要大家明確。
總結
以上是生活随笔為你收集整理的php实现中间件6,说一说ThinkPHP6中五花八门的中间件_PHP开发框架教程的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 安卓玩模拟器游戏(安卓玩模拟器)
- 下一篇: 项目建设备案流程(项目建设备案)
