Size: a a a

2021 August 05

Kd

Konstantin dmz9 in symfony
чего нарушаем?
источник

Kd

Konstantin dmz9 in symfony
ты определись сначала что ты хочешь выиграть
источник

Kd

Konstantin dmz9 in symfony
хочешь собирать зависимости сам руками никто ж не запрещает; расставь теги и по тегу бери из контейнера
источник

AN

Alexander Nazarov in symfony
про тег думал тоже, в целом применимо, не нравиться только контейнер прокидывать, но это видимо какое то личное.
источник

VM

Volodymyr Melko in symfony
Symfony-Way

interface SomeServiceInterface {
   public function execute(BaseType $obj): void;

   public function supports(BaseType $obj): bool;
}

class SomeService {
   private iterable $services;

   public function __construct(iterable $services) {
         $this->services = $services; // можно чекнуть тип каждого сервиса, что это SomeServiceInterface
   }

   public function execute(BaseType $obj): void
   {
       foreach ($this->services as $service) {
           if ($service->supports($obj)) {
                 $service->execute($obj);
                 return;
           }
       }
   }
}


дальше пилишь свои сервисы А и Б, вешаешь на них теги и по тегам инжектишь в SomeService
источник

AN

Alexander Nazarov in symfony
Человечачее вам спасибо.
источник

VM

Volodymyr Melko in symfony
по вкусу добавлешь проверок\исключений где тебе надо
источник

AN

Alexander Nazarov in symfony
Спасибо огромное, видимо это прям точ в точ что мне нужно)
источник

VM

Volodymyr Melko in symfony
в самой симфони этот подход много где применяется =) стоит иногда заглядывать внутрь вендоров =)
источник

DS

Denis Shlyapnikov in symfony
Подскажите, почему на 40x, 50x ошибках в Request locale всегда null? Из-за этого неправильно работают переводы и ссылки в шаблонах 40x,50x ошибок.
источник

VM

Volodymyr Melko in symfony
а как локаль в реквест попадает вообще?
источник

AS

Alexander Semeko in symfony
Хедер
источник

A

Arky in symfony
через локаль листенер
источник

DS

Denis Shlyapnikov in symfony
Надо посмотреть. Выше пишут, что через событие. Может до него просто не доходит дело
источник

А

Алмаз in symfony
Добрый день, мне нужно построить 3 вложенных join
Вот тут в примере соединяются 2 таблицы через прослойку в виде 3ей
Куда и каким образом мне добавить свою 4ую таблицу?
/**
* @ManyToMany(targetEntity="Phonenumber")
* @JoinTable(name="users_phonenumbers",
*      joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
*      inverseJoinColumns={@JoinColumn(name="phonenumber_id", referencedColumnName="id", unique=true)}
* )
*/
public $phonenumbers;
источник

AS

Alexander Semeko in symfony
А что в четвертой нужно?
источник

AN

Alexander Nazarov in symfony
так это у тебя отношение многие ко многим. Как вы отношение многие ко многим через 4 таблицы строите?
источник

AS

Alexander Semeko in symfony
ManyToMany создает дополнительно одну таблицу с релейшенами, в отличии от других отношений
источник

MB

Max B in symfony
как называется такой подход ? и есть ли у него в обще название
источник

VM

Volodymyr Melko in symfony
я хз, теорию не шарю =)
это крайне похоже на фабрику имхо, когда по базовому типу получил бы конкретный сервис, с той лишь разницей, что сервисы все инстанциированы и новый не создается
источник