Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF]Po co mi dekorator w nadpisywaniu usług w Extension? przecież mogę nadpisać usługę dowolnie bez dekoratora
koszykarze
post
Post #1





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

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


w dokumentacji są dwa słowa o dekoratorze:
- dekorator nadpisuje ale nie likwiduje nadpisywanej usługi
- stara nazwa (dekorowanej usługi) jest aliasem dla nowej nazwy (usługi dekoratora)


Nie rozumiem jaka jest korzyść używania dekoratora przy nadpisywaniu usług w Extension. Co mogę takiego zrobić dekoratorem czego nie mógłbym zrobić zwykłą edycją usługi? Przecież i tak dekorator będzie wywoływany starą nazwą usługi, więc nie mogę już w projekcie użyć starej wersji dekorowanej usługi.


edit.
i po co używać factory skoro mogę dowolnie edytować usługę w Extension?

Ten post edytował koszykarze 27.07.2016, 23:38:27
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%)
-----


no ale jak nie nadpisuje skoro nadpisuje.


poniższe sprawia, że wywołując serwis 'old' mam zawartość klasy Klasa1, gdy początkowo serwis ma klasę Klasa
  1. $container->register('dekorator', 'Klasa1')
  2. ->setPublic(true)
  3. ->setDecoratedService('old');

(a jest to skopiowane z dokumentacji)

ale już taki zapis nie nadpisuje. Tj. oba serwisy używają innej klasy
  1. $indexDef = new DefinitionDecorator('old');
  2. $indexDef->setClass('Klasa1')
  3. ->setPublic(true);
  4. $container->setDefinition('dekorator', $indexDef);


Ten post edytował koszykarze 28.07.2016, 23:33:22
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: 27.12.2025 - 23:26