在laravel 5.4之前,我们可以使用中间件来实现跳转功能。但是,laravel 5.4中间件的实现方式有所不同。在本文中,我们将讨论如何在laravel 5.4中实现中间件跳转。
一、在Laravel 5.4中实现中间件跳转
在Laravel 5.4中,我们可以使用redirect()函数和with()函数来实现中间件跳转。下面我们来看一个例子:
创建一个日志中间件
在app/Http/Middleware目录下,创建一个LogMiddleware.php文件,内容如下:
<?php namespace AppHttpMiddleware;
use Closure;
use IlluminateSupportFacadesLog;
class LogMiddleware
{
public function handle($request, Closure $next)
{
Log::info('LogMiddleware');
return $next($request);
}
}登录后复制上面的代码创建了一个名为LogMiddleware的中间件,在handle函数中记录了一条日志。创建一个授权中间件在app/Http/Middleware目录下,创建一个AuthMiddleware.php文件,内容如下:<?php namespace AppHttpMiddleware;
use Closure;
class AuthMiddleware
{
public function handle($request, Closure $next)
{
if (!auth()->check()) {
return redirect('/login')->with('error', '请先登录!');
}
return $next($request);
}
}登录后复制上面的代码创建了一个名为AuthMiddleware的中间件,在handle函数中判断用户是否已登录,如果未登录,则跳转到登录页面,并将错误信息保存到session中。将中间件注册到路由中在routes/web.php文件中,注册路由和中间件,代码如下:Route::get('/dashboard', function () {
return view('dashboard');
})->middleware([LogMiddleware::class, AuthMiddleware::class]);登录后复制上面的代码创建了一个名为dashboard的路由,在dashboard路由中,使用了LogMiddleware和AuthMiddleware中间件。实现中间件跳转直接访问http://yourdomain/dashboard页面时,将会自动跳转到http://yourdomain/login,并在session中保存有错误信息。二、总结在Laravel 5.4中,我们可以使用redirect()函数和with()函数来实现中间件跳转。通过以上步骤,我们成功地实现了一个中间件跳转功能。希望本文能对你有所帮助!以上就是如何在Laravel 5.4中实现中间件跳转的详细内容,更多请关注php中文网其它相关文章!
AmandaIncaboraa9 天前
发表在:关于我们"我很想找出激励你的东西。 和我聊天 h...
AmandaIncabora213 天前
发表在:关于我们我在等你的留言! 过来打个招呼! ...
AmandaIncaborac24 天前
发表在:关于我们让我们今晚难忘...你的地方还是我的? ...
BryanDen1 个月前
发表在:关于我们Самый быстрый и безо...
91资源网站长-冰晨6 个月前
发表在:【账号直充】爱奇艺黄金VIP会员『1个月』官方直充丨立即到账丨24小时全天秒单!不错不错,价格比官方便宜
91资源网站长-冰晨6 个月前
发表在:2022零基础Java入门视频课程不错,学习一下