0

所以我刚刚将 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();
});

我的问题是:这是常态吗?我应该担心这个吗?有更好的方法吗?

4

1 回答 1

1

我应该担心这个吗?

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

parameters:
    # ...
    mailer.transport: sendmail

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

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

于 2015-10-13T22:50:32.653 回答