Раздутый контейнер от прыщей — это нормально?

Итак, я только что интегрировал 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();
});

Мой вопрос: это норма? Должен ли я быть обеспокоен этим? Есть ли лучший способ сделать это?

0

Решение

Должен ли я быть обеспокоен этим?

Ну нет. Вы Можно работать с этим. Рамки кремнезем также использует Pimple в качестве сервисного контейнера. Но прыщ маленький контейнер для инъекций зависимости. Это очень хорошо для небольших проектов, но если ваш контейнер растет, вы можете захотеть что-то другое. Если вы ищете что-то «лучше», ищите внедрение зависимости-х составная часть. С этим вы можете описать свое поведение DIC в файле конфигурации, например:

parameters:
# ...
mailer.transport: sendmail

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

Заметка: желательно зарегистрировать автозагрузчик, а не включать класс вручную.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]