sproutwp/sprout_services

此软件包最新版本(dev-master)没有提供许可证信息。

由Sprout使用的服务容器与提供者

dev-master 2019-06-12 14:42 UTC

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允许的范围内,没有在接口中使用强返回类型的情况下),可用于依赖项,例如:您总是得到一个执行相同操作的对象,但您必须通过接口强制执行。