Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pytanie Dotyczące OOP
frytek92
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 9.11.2007
Skąd: Goleniów

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


Witam

  1.  
  2. $oop = new test_class;
  3.  
  4. $oop->funkcja()->funkcja();
  5.  


Moje pytanie do czego służy takie wywoływanie metody ?, kiedy się to stosuje może jakiś przykład klasy w której mamy takie zastosowanie bo nie mogę pojąc dlaczego metody są wywoływane w taki sposób czyli "$oop->funkcja()->funkcja()"

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
smentek
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 11
Dołączył: 7.04.2003

Ostrzeżenie: (10%)
X----


Chyba warto by jeszcze dodać, że kodowanie w tym stylu CZĘSTO, nie jest dobrym rozwiązaniem. Można nawet powiedzieć że najczęściej będzie no oznaką słabego stylu kodowania.

Na tego typu Kod:
  1. $parowoz->wagonPierwszy()->wagonDrugi()->wagonTrzeci();


Anglosasi mają ukuty termin "train carsh". Wrak pociągu.

Na chłopski rozum: z reguły warto sprawdzić czy metoda, która miała zwrócić obiekt faktycznie go zwróciła. Zwłaszcza jeżeli zwaracane obiekty zależą od aktualnego stanu bazy.

Ponadto tego typu kod łamie podstawową zasade OOP o enkapsulacji obiektów. Staramy się Powiedzieć obiektowi co ma robić a nie wyciągać z niego bebechy a potem wyciągać bebechy z jego bebechów...

Z drugiej strony jeżeli uznamy że nie działamy na obiektach a na strukurach danych to w pewnych specyficznych sytuacjach powyższe rozwiązanie jest to do przyjęcia. Np. Język DQL w ORM doctrine...

Ten post edytował smentek 8.09.2010, 19:43:58
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: 10.06.2026 - 12:19