小编bbl*_*lue的帖子

如何处理常量和依赖注入

更新我的问题可能比下面解释的更简单:使用依赖注入时我不应该使用其他类的常量吗?

我正在转换许多类以注入它们的依赖项,而不是在类中定义它们。到目前为止一切都很好。

但是,我有许多常量,特别是与事件调度程序系统相关的常量,我不太确定如何处理它们。

例如:

const STORAGE_SYSTEM_FLUSHED = MyDatabaseEvents::FLUSHED;

public function myFunctionForSO() {
    $this->ed->addListener(self::STORAGE_SYSTEM_FLUSHED, function() {
        // do some stuff
    });
}
Run Code Online (Sandbox Code Playgroud)

MyDatabaseEvents::FLUSHED只不过是一个用于标识事件的字符串,通常类似于"services.database.flush",但我的方法导致我的类变得依赖于 MyDataBaseEvents 等类。

仅仅为了这个字符串注入对象感觉有点过分了。这通常是如何处理的?

1)注入全局设置类?

2)注入全局事件标识符类?

3)由调用类配置?

4)...?

php dependency-injection

5
推荐指数
1
解决办法
2094
查看次数

使用自定义 Doctrine 2 数据类型进行依赖注入

我遇到了与自定义 Doctrine 2 Hydrator 的依赖注入几乎相同的问题,但我需要将服务注入到自定义数据类型中,而不是注入到 Hydrator 中。

所引用问题中的解决方案依赖于在 Doctrine 初始化类本身时复制和修改 Doctrine 源代码。希望另一种方法对自定义数据类型可行吗?

这是针对 Symfony3 应用程序的,如果可以在那里应用一些魔法的话。

php orm symfony doctrine-orm

5
推荐指数
1
解决办法
1991
查看次数

标签 统计

php ×2

dependency-injection ×1

doctrine-orm ×1

orm ×1

symfony ×1