Laravel 中间件:创建中间件 Draft
在Laravel中创建一个新的中间件,你可以使用Artisan 命令行工具,也可以手动创建文件。以下是两种方法的示例:
使用Artisan 命令行工具创建中间件
打开终端或命令行界面,然后运行以下命令:
php artisan make:middleware CheckAge
这将在 app/Http/Middleware
目录下创建一个新的中间件文件 CheckAge.php
。
手动创建中间件
如果你更喜欢直接编辑文件,而不是使用命令行工具,你可以直接创建一个新的中间件文件。
- 创建一个新的中间件类文件,比如
CheckAge.php
。 - 将该文件保存在
app/Http/Middleware
目录下。 - 在该文件中定义中间件的逻辑。
以下是一个简单的 CheckAge
中间件示例:
<?php
namespace App\Http\Middleware;
use Closure;
class CheckAge
{
/**
* 处理传入的请求。
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->age <= 18) {
return redirect('home'); // 如果年龄小于等于18,重定向到home页面
}
return $next($request); // 如果年龄大于18,继续请求处理
}
}
注册中间件
在中间件创建后,你需要将其注册到Laravel中,这样才能在路由中使用。
打开 app/Http/Kernel.php
文件,然后将中间件的 CheckAge
类添加到 $routeMiddleware
数组中。
protected $routeMiddleware = [
// ...
'check.age' => \App\Http\Middleware\CheckAge::class,
];
使用中间件
在路由中使用中间件,你需要在路由定义中添加中间件。
Route::get('profile', function () {
// 只有当年龄大于18岁时才能访问这个路由
})->middleware('check.age');
以上就是创建和注册一个中间件的基本步骤。
评论已关闭