在CentOS系统下编写Laravel中间件,你需要遵循以下步骤:
打开终端。
使用文本编辑器(如vim、nano等)创建一个新的中间件文件。例如,我们创建一个名为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)
{
// 在这里编写你的中间件逻辑
// 通过 $next($request) 将请求传递给下一个中间件或控制器
return $next($request);
}
}
handle方法中编写你的中间件逻辑。例如,你可以检查用户是否已登录,如果没有登录,则重定向到登录页面:public function handle(Request $request, Closure $next)
{
if (!$request->session()->has('user')) {
return redirect('/login');
}
return $next($request);
}
保存并关闭文件。
接下来,你需要将新创建的中间件注册到Laravel应用程序中。打开app/Http/Kernel.php文件:
vim app/Http/Kernel.php
$routeMiddleware数组中添加你的中间件。例如:protected $routeMiddleware = [
// ...
'my_middleware' => \App\Http\Middleware\MyMiddleware::class,
];
现在,你已经在Laravel中创建了一个名为MyMiddleware的中间件,并将其注册到应用程序中。要将此中间件应用于路由,只需在routes/web.php或routes/api.php文件中使用middleware方法:
Route::get('/example', 'ExampleController@index')->middleware('my_middleware');
这样,当用户访问/example路由时,将执行MyMiddleware中间件的逻辑。