这是否被认为是 Laravel 中的自定义外观方法?
Is this considered to be a custom facade approach in Laravel?
我有一项功能可以识别给定令牌(字符串)的访问。如果给出了有效的令牌,会话应该填充一个有效的条目(使用 SessionInterface
)。我已经设置了我的 VerifyToken
中间件,并希望使用类似 Guard 的方法进行令牌验证和会话存储。
我的问题是,这种类型的功能在 Laravel 中是否被视为外观?如果是这样;存储这些文件的合适位置是什么(例如 app\Facades
以及 app\Facades\Contracts
来存储接口)?
Laravel 中的 Facade 只是一种从服务容器解析绑定的方法。
因此,对我而言,Facades 本身并不被视为 'application functionality',而是一种访问存储在服务容器
中的服务(提供功能)的方式
也就是说,如果您想使用类似 Guard 的方法构建服务,我认为,与往常一样,目录结构由您决定:Laravel 在这种情况下非常灵活
一旦您构建了您的服务类,如果您认为它会有用,您可以实现一个或多个 Facades 来访问某些服务。
就我个人而言,我不是 Facade 的忠实粉丝,我认为尽可能使用依赖注入(通过方法或构造函数参数)更好:这将在需要的地方注入您的服务,但同时保持您的代码-依赖关系更清晰,因为它们可以从方法的签名中立即看到
我有一项功能可以识别给定令牌(字符串)的访问。如果给出了有效的令牌,会话应该填充一个有效的条目(使用 SessionInterface
)。我已经设置了我的 VerifyToken
中间件,并希望使用类似 Guard 的方法进行令牌验证和会话存储。
我的问题是,这种类型的功能在 Laravel 中是否被视为外观?如果是这样;存储这些文件的合适位置是什么(例如 app\Facades
以及 app\Facades\Contracts
来存储接口)?
Laravel 中的 Facade 只是一种从服务容器解析绑定的方法。
因此,对我而言,Facades 本身并不被视为 'application functionality',而是一种访问存储在服务容器
中的服务(提供功能)的方式也就是说,如果您想使用类似 Guard 的方法构建服务,我认为,与往常一样,目录结构由您决定:Laravel 在这种情况下非常灵活
一旦您构建了您的服务类,如果您认为它会有用,您可以实现一个或多个 Facades 来访问某些服务。
就我个人而言,我不是 Facade 的忠实粉丝,我认为尽可能使用依赖注入(通过方法或构造函数参数)更好:这将在需要的地方注入您的服务,但同时保持您的代码-依赖关系更清晰,因为它们可以从方法的签名中立即看到