Php laravel-如何按小时锁定页面
我需要阻止用户从上午9点到下午6点访问某些页面Php laravel-如何按小时锁定页面,php,laravel,Php,Laravel,我需要阻止用户从上午9点到下午6点访问某些页面 那么,实现这一目标的最佳方式是什么?我应该创建一个中间件吗?还是内核条件?或者向控制器添加条件?我会这样做: public function returnViewName(){ if(Carbon::now()->format('H') >= 9 && Carbon::now()->format('H') =< 18){ return; } else { return vi
那么,实现这一目标的最佳方式是什么?我应该创建一个中间件吗?还是内核条件?或者向控制器添加条件?我会这样做:
public function returnViewName(){
if(Carbon::now()->format('H') >= 9 && Carbon::now()->format('H') =< 18){
return;
} else {
return view('viewName');
}
}
public函数returnViewName(){
如果(Carbon::now()->格式('H')>=9&&Carbon::now()->格式('H')=<18){
返回;
}否则{
返回视图(“视图名称”);
}
}
代码未经测试,但应该可以让您达到目的。这可以:
public function showPage(): View
{
$hour = Carbon::now()->format('H');
$template = $hour > 8 && $hour < 19 ? 'error-page' : 'actual-page';
return view($template);
}
公共函数showPage():查看
{
$hour=Carbon::now()->格式('H');
$template=$hour>8&$hour<19?“错误页面”:“实际页面”;
返回视图($模板);
}
中间件绝对是实现此类功能的合适场所
满满的
快速版本:
php artisan make:middleware TimeRestrictedMiddleware
-这将在app/Http/middleware中创建一个名为TimeRestrictedMiddleware.php
handle()
方法中,编写一些代码来检查您的时间限制,并返回一个视图/响应来拒绝用户公共函数句柄($request,Closure$next)
{
如果(Carbon::now()->format('H')>=9&&Carbon::now()->format('H')['time-restricted']],函数(){
//所有需要时间限制的路线
});
小心,h
(小写)是关于12小时格式化的NVM,你发现了:)你说得对。在我看到你的答案后,我意识到了我的错误并更正了我的帖子。谢谢你注意:)那可能会有帮助us@anderlaini如果你在多条路线上需要它,我会将同样的方法应用到middlewareNice方法中。你甚至可以更进一步,开始和结束中间件的结束时间参数:)