如题,在读文档时(中文)发现了Guard这个名词,文档中是这样定义的“Guard 定义了用户在每个请求中如何实现认证”,而后面有一个“自定义guard”章节,然后我就懵逼了,这个guard是什么意思。
是多用户认证的意思吗?不同名字的guard隔离开来,不同的认证??
http://laravelacademy.org/post/3074.html#ipt_kb_toc_3074_23
另外,provide是什么意思。。。。
如题,在读文档时(中文)发现了Guard这个名词,文档中是这样定义的“Guard 定义了用户在每个请求中如何实现认证”,而后面有一个“自定义guard”章节,然后我就懵逼了,这个guard是什么意思。
是多用户认证的意思吗?不同名字的guard隔离开来,不同的认证??
http://laravelacademy.org/post/3074.html#ipt_kb_toc_3074_23
另外,provide是什么意思。。。。
其实无论是Guard还是Provide,你都可以理解为。某个特定功能的插件。
Laravel是老外的东西,讲究优雅,所以把不同的东西弄成独立而又好看的东西(貌似解释的有语病)
然后还是说说官方这些东西的用法吧。。
Guard,正如这个次的中文含义一样,是守卫的意思,也就是看门的。。
他的作用是处理一个认证,来判断每个请求、调用是否是登录过,或者允许通过的,其实这个中间件也可以实现的。但是,做为一个优雅的框架,自然有优雅的归类了。。
你可以把一个密码登录,创建一个Guard,QQ登录,创建另一个Guard。任何你想要验证的登录形式,或者接口验证什么的,都可以封装成独立的Guard去调用。。
至于provide,不是认证这里的专属,他是Laravel中比较基础核心的东西。官方翻译叫做服务提供者。
他里面只有几个约定好的方法,大致是。运行这个服务的时候执行的boot,和注册这个服务的一些东西的register以及钩子什么的。主要用途就是为框架提供各种服务。
例如你创建了个格式化输出的服务,这个服务执行的时候会把输出的json里面的非字符型的值都转化为字符型。。然后这个服务注册到输出对象下面。叫做ShowMyJSON,然后你就可以在输出的时候直接用了。。
感觉你会听的一头雾水。。。Laravel刚接触确实不好理解。慢慢就好了。就和组装机器人一样。需要啥,就装个啥到某个地方。
仔细看看官网的文档吧: https://laravel.com/docs/5.2/authentication#adding-custom-guards
或者来我的小站 https://laravist.com/ ,对很多知识都有深入讲解