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%)
-----


[sql][/sql]
Cytat(destroyerr @ 27.07.2016, 18:56:14 ) *
factory i calls to są dwie różne rzeczy. Factory tworzy Twój obiekt, a calls wywołuje funkcje na tym utworzonym obiekcie. Możesz fabryką utworzyć obiekt a potem wywołać na nim metodę.

zrobiłem z tego kodu "foo, bar, baz" by zrobić generalne pytanie a nie napisałem, że w rzeczywistym kodzie ta metoda factory zwraca tablicę stąd moje dociekania czy dekorator musi używać faktory do nadpisywania usług.

Dobra, rozumiem że to wszystko jedno, po prostu autorowi chciało się factory użyć tym razem.
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: 5.10.2025 - 11:25