我有一些功能可识别给定令牌(字符串)的访问。如果给出了有效令牌,则应使用有效条目填充会话(使用SessionInterface
)。我已经设置了VerifyToken
中间件,并希望使用类似Guard的方法进行令牌验证和会话存储。
我的问题是,这种功能是否被认为是Laravel的外观?如果是这样;存储这些文件的适当位置是什么(例如app\Facades
以及存储接口的app\Facades\Contracts
?
答案 0 :(得分:2)
Laravel中的Facade只是解析服务容器绑定的一种方法。
因此,对我而言,Facades并未被视为应用程序功能'它们本身,而是作为访问存储在服务容器中的服务(提供功能)的一种方式
话虽如此,如果你想用类似Guard的方法构建服务,我认为像往常一样,目录结构取决于你:Laravel在这种情况下非常灵活
一旦构建了服务类,如果您认为它有用,您可以实现一个或多个Facade来访问某些服务。
就个人而言,我不是一个大门面的粉丝,我认为在可能的情况下使用依赖注入(通过方法或构造函数参数)会更好:这会在需要的地方注入你的服务,但同时保持您的代码依赖性更加清晰,因为它们可以通过方法的签名直接显示