sproutwp / sprout_services
此软件包最新版本(dev-master)没有提供许可证信息。
由Sprout使用的服务容器与提供者
dev-master
2019-06-12 14:42 UTC
Requires
- sproutwp/sprout_cache: *@dev
- sproutwp/sprout_interfaces: *@dev
- sproutwp/sprout_privileges: *@dev
This package is not auto-updated.
Last update: 2024-09-27 14:19:14 UTC
README
默认情况下,该模块在 init 钩子中以 10 的优先级加载,如果您启动得太早,它将与其他Sprout模块不兼容。
由Sprout框架使用的服务容器与提供者
如何加载
如果您在Sprout内部,它会为您处理!如果您将其作为独立软件包使用,您必须初始化 SproutServices\SproutServicesInit 并调用 loadModule。
如何使用
将对象注册为服务
SproutServices\Wrappers\SproutServicesWrappers::registerService( 'myService', new TestService );
检索它
SproutServices\Wrappers\SproutServicesWrappers::getService( 'myService' );
尽管在文档中会有所提及,但在后端还有很多神秘的东西,例如确定服务标识以确保它不能被不同类型的对象覆盖,因此它很安全(在PHP允许的范围内,没有在接口中使用强返回类型的情况下),可用于依赖项,例如:您总是得到一个执行相同操作的对象,但您必须通过接口强制执行。