在CentOS系統上編寫Laravel中間件遵循以下步驟:
打開終端。
使用文本編輯器(如vim、nano等)創建一個新的中間件文件。例如,使用vim編輯器創建一個名為MyMiddleware.php
的文件:
vim app/Http/Middleware/MyMiddleware.php
handle
方法。例如:<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class MyMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
// 在請求到達路由之前執行的代碼
// ...
// 將請求傳遞給下一個中間件或路由
return $next($request);
// 在請求從路由返回之后執行的代碼
// ...
}
}
在handle
方法中,你可以編寫在請求到達路由之前或之后執行的代碼。例如,你可以檢查用戶是否已登錄,或者記錄請求信息等。
保存并關閉文件。
接下來,需要將新創建的中間件注冊到Laravel應用程序中。打開app/Http/Kernel.php
文件,找到$routeMiddleware
屬性,并將新中間件添加到數組中。例如:
protected $routeMiddleware = [
// ...
'my_middleware' => \App\Http\Middleware\MyMiddleware::class,
];
routes/web.php
文件中:Route::get('/example', 'ExampleController@index')->middleware('my_middleware');
這樣,當用戶訪問/example
路由時,將執行MyMiddleware
中間件中的代碼。
以上步驟適用于Laravel 8和CentOS 7。如果你使用的是其他版本的Laravel或操作系統,請根據實際情況進行調整。