【发布时间】:2017-05-02 06:21:48
【问题描述】:
如何通过依赖注入将静态类传递给对象?
例如Carbon 使用静态方法:
$tomorrow = Carbon::now()->addDay();
我有依赖于 Carbon 的服务,目前我在依赖项中使用库而不注入它们。但是,这会增加耦合,我想改为通过 DI 传递它。
我有以下控制器:
$container['App\Controllers\GroupController'] = function($ci) {
return new App\Controllers\GroupController(
$ci->Logger,
$ci->GroupService,
$ci->JWT
);
};
如何将 Carbon 传递给它?
【问题讨论】:
-
Carbon::now()返回什么?一个对象 -
是的,一个对象。但我并不总是需要实例,因为我还使用类中的其他方法,例如
Carbon::createFromDate和Carbon::createFromTimestamp。 -
要么传递一个对象,要么什么都不传递。
标签: php dependency-injection slim pimple