Size: a a a

2021 July 09

VK

Vladyslav Kopaihorod... in symfony
toxic
источник

RR

Roman Rash in symfony
Мне часы нарабатывать не требуется. Дельное что то можешь предложить?
источник

КГ

Константин Грачев... in symfony
источник

A

Arky in symfony
источник

RR

Roman Rash in symfony
Благодарю вас, Arky!
источник

ON

Oleg Nechaev in symfony
Как понять когда делать сервис, а когда это не требуется?

Скажем у меня есть фабричный метод, который создает автомобили разных цветов. В контроллере получаю цвет, который пользователь передал в запросе. Можно использовать сразу CarFactory::create($color) в контроллере или нужно вызывать фабрику как сервис?

$carFactory = $this->get(CarFactory::class);

При этом фабрика автомобилей будет использоваться только в одном контроллере.
источник

VM

Volodymyr Melko in symfony
1. какой смысл делать фабричные методы статичными?
2. внедряй зависимости (тут кроется ответ на твой запрос)
источник

ON

Oleg Nechaev in symfony
1. В примере фабричный метод находится внутри CarFactory::create, а статичный метод — клиентский код. Пример брал отсюда [vendor/symfony/mailer/Transport.php]
2. Это означает, что нужно в описанном мной случае использовать сервис?
источник

VM

Volodymyr Melko in symfony
Шта?
источник

A

Anthony in symfony
+. Штыа?!
источник

A

Anthony in symfony
Статические вызовы методов - это всегда сокрытие зависимостей.
источник

A

Anthony in symfony
Что вам помешает сделать CarFactoryService?
как поменяется смысл деяния Фабрики от того, будет ли она вызываться статически?
источник

ИС

Игорь Снежко... in symfony
источник

👤U

👤 User in symfony
Мощно.
источник

ON

Oleg Nechaev in symfony
На самом деле в контроллере я использую Car::get('red') (а не CarFactory). Сам Car выглядит так: https://pastebin.com/3fzDsxK2

Таким образом, Car и есть сервис, который я должен зарегистрировать в сервис-контейнере?
источник

A

Anthony in symfony
То есть одну статику заменили другой? И что поменялось?
источник

VM

Volodymyr Melko in symfony
ужас какой
источник

VM

Volodymyr Melko in symfony
имхо, но конкретно тут не нужна никакая фабрика
делаешь просто new Car($color) и все
фабрика нужна, когда у тебя много параметров, их надо подготовить как-то перед тем, как создать объект. Нужно засетить пачку необязательных полей в добавок. Чтоб не дублировать эту сложную логику - ее можно вынести в фабрику и юзать фабрику
источник

ON

Oleg Nechaev in symfony
Вообще у меня нет опыта проектирования, поэтому я взял этот пример непосредственно из Симфони
источник

ON

Oleg Nechaev in symfony
источник