我正在查看内置的auth控制器,我注意到他们使用了一种名为"Guards"的东西.到目前为止,每当我创建自己的登录/注册表单时,我从未触及这些,通常只会执行以下操作:
Auth::attempt()
Run Code Online (Sandbox Code Playgroud)
没有任何类型的警卫.我已经尝试查找究竟是什么但我无法找到任何相关信息,有人可以向我解释警卫的目的是什么吗?
据我所知,Laravel将它作为Contracts扩展的接口引用,因为它们被Laravel使用.但这看起来有点像循环推理.仅仅因为您的项目使用它,更改现有PHP功能的术语没有任何附加值.
还有更多的东西吗?为标准PHP功能创建新术语背后的逻辑是什么?或者是否有一些尚未出现在接口中的合同功能?
编辑:为了澄清,正如我对托马斯的帖子的评论中所解释的那样,在合同中使用契约作为专有名词让我感到困惑.
我试图了解中间件在Laravel中是如何工作的.这是我的课程,任何人都可以解释它是如何工作的.
<?php
namespace App\Http\Middleware;
use Closure;
class CheckAge
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->age <= 200) {
return redirect('home');
}
return $next($request);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢