Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF]Dlaczego usługę dekorować fabryką w Extension?
koszykarze
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 10.10.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


w FOSElasticaBundle w Extension jest taki fragment

  1. $Def = new DefinitionDecorator('foo');
  2. $Def->replaceArgument(0, $bar);
  3. $Def->addTag('baz', array( 'name' => $qux, ));
  4. $Def->setFactory(array(new Reference('quux'), 'corge'));


czyli w yaml wyjdzie coś takiego

  1. services:
  2. foo:
  3. arguments:
  4. - '$bar'
  5. tags:
  6. - { name: baz }
  7. factory: ["@quux", corge]


dlaczego zamiast factory nie jest użyta dyrektywa class i calls?
  1. services:
  2. foo:
  3. arguments:
  4. - '$bar'
  5. tags:
  6. - { name: baz }
  7. class: @quux
  8. calls: corge

Czy to wszystko jedno czy jest w tym jakiś sens?

Ten post edytował koszykarze 26.07.2016, 20:54:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
koszykarze
post
Post #2





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 10.10.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


nie chodzi mi o to dlaczego serwis nie jest zdefiniowany w yaml a php. (napisałem w yaml żeby uprościć)

Mi chodzi o to dlaczego jest użyte factory zamiast class i calls przy konstrukcji tego dekoratora (jakkolwiek te dyrektywy się definiuje w php).

Cytat(Crozin @ 27.07.2016, 07:42:58 ) *
jest tam zawarta dodatkowa logika, której nie powinno raczej być bezpośrednio w konstruktorze.

ja nie mówię o konstruktorze a o calls.


po prostu zastanawiałem się czy 1) chcąc nadpisać wywoływaną metodę usługi w Extension muszę to robić z użyciem factory i czy 2) chcąc nadpisać usługę dodając dyrektywę factory muszę najpierw użyć dekoratora

Czy nie można by 1) nadpisać tag, klasę, calls, i arguments z użyciem dekoratora bez factory i czy nie można by 2) nadpisać tag, klasę, calls, i arguments z użyciem factory bez dekoratora

Czy dekorator i faktory są ze sobą związane przy nadpisywaniu usług w Extension.

Ten post edytował koszykarze 27.07.2016, 09:49:32
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 23:23