2015-10-13 24 views
0

所以我剛剛整合疙瘩成一個項目,我在我現在的情況是,我在文件:膨脹的疙瘩容器 - 這是正常的嗎?

/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

我應該關心這個嗎?

那麼,沒有。你可以與那工作。框架Silex也使用Pimple作爲服務容器。但Pimple是一個小型依賴注入容器。這對小項目非常有用,但如果你的容器長大了,你可能想要一些不同的東西。如果您尋找「更好」的東西,請查找DependencyInjection's組件。與你能描述你的DIC行爲在配置文件中,例如:

parameters: 
    # ... 
    mailer.transport: sendmail 

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

:最好是註冊一個自動加載,而不是手動包括類。