от того, будет ли она вызываться статически?
На самом деле в контроллере я использую Car::get('red') (а не CarFactory). Сам Car выглядит так: https://pastebin.com/3fzDsxK2 Таким образом, Car и есть сервис, который я должен зарегистрировать в сервис-контейнере?
То есть одну статику заменили другой? И что поменялось?
Вообще у меня нет опыта проектирования, поэтому я взял этот пример непосредственно из Симфони
https://github.com/symfony/symfony/blob/5.4/src/Symfony/Component/Mailer/Transport.php#L157
это фабрика для фабрик =) это не фабрика для сущностей
Да, я так и понял, что фабрика для фабрик. Которая позволяет получать нужную сущность, не зная при этом нужной фабрики. Для решения моей задачи это подходит (несмотря на то, что в моем "абстрактном" примере это не отражено). Но эта фабрика фабрик точно также скрывает зависимости. Предлагаете делать как-то так? $factory = new CarFactory([ 'bmw' => new BmwCarFactory(), 'mercedes' => new MercedesCarFactory(), ]); var_dump($factory->create('bmw')->getName());
ага, только не в котроллере =) изучайте инструмент, которым пользуетесь
Обсуждают сегодня