膨胀的疙瘩容器 - 这是正常的吗?

时间:2015-10-13 22:27:55

标签: php dependency-injection pimple

所以我刚刚将Pimple集成到一个项目中,我现在的情况是我有一个文件:

/application/config/pimple.php

其中有400多个:

/* Instantiate new Class */
$this->container['Some_class'] = $this->container->factory(function ($c) 
{
    require_once "application/classes/some/class.php";
    return new Class();
});

我的问题是:这是常态吗?我应该关注这件事吗?有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

  

我应该关注这件事吗?

嗯,不。你可以使用它。框架Silex也使用Pimple作为服务容器。但是Pimple是一个依赖注入容器。这对小型项目非常有用,但如果你的容器长大,你可能想要一些不同的东西。如果您寻找“更好”的内容,请查找DependencyInjection's组件。有了它,您可以在配置文件中描述您的DIC行为,例如:

parameters:
    # ...
    mailer.transport: sendmail

services:
    mailer:
        class:     Mailer
        arguments: ["%mailer.transport%"]
    newsletter_manager:
        class:     NewsletterManager
        calls:
            - [setMailer, ["@mailer"]]

注意:建议注册自动加载器,而不是手动包含类。