PHP5_Obiekty_wzorce_narzedzia_php5ob.pdf

(759 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
PHP5. Obiekty,
wzorce, narzêdzia
Autor: Matt Zandstra
T³umaczenie: Przemys³aw Szeremiota
ISBN: 83-7361-868-6
Tytu³ orygina³u:
PHP 5 Objects, Patterns, and Practice
Format: B5, stron: 464
Profesjonalne techniki programowania obiektowego w PHP5
• Poznaj zasady projektowania i programowania obiektowego
• Zastosuj wzorce projektowe podczas tworzenia aplikacji
• Wykorzystaj narzêdzia wspomagaj¹ce pracê programisty PHP5
Wraz z rosn¹c¹ popularno ci¹ jêzyka PHP zwiêksza siê równie¿ zakres jego
zastosowañ. Za pomoc¹ PHP tworzy siê ju¿ nie tylko proste dynamiczne witryny WWW
i fora dyskusyjne, ale równie¿ rozbudowane aplikacje sieciowe, wykorzystywane czêsto
w du¿ych przedsiêbiorstwach. Ju¿ w PHP4 zaimplementowano pewne mechanizmy
u³atwiaj¹ce tworzenie rozbudowanych systemów, jednak dopiero PHP5 sta³ siê w pe³ni
obiektowym jêzykiem programowania pozwalaj¹cym na korzystanie z wszystkich
wynikaj¹cych z tego mo¿liwo ci.
„PHP5. Obiekty, wzorce i narzêdzia” stanowi dok³adne omówienie wszystkich technik
obiektowych w kontek cie zastosowania ich podczas tworzenia aplikacji w PHP5.
Zawiera przegl¹d podstawowych i zaawansowanych cech PHP5 zwi¹zanych
z obiektowo ci¹. Przedstawia przyk³ady najczê ciej wykorzystywanych wzorców
projektowych i zasady ich stosowania. Ksi¹¿ka opisuje równie¿ narzêdzia, które mog¹
okazaæ siê bardzo przydatne podczas tworzenia rozbudowanych aplikacji, s³u¿¹ce
do tworzenia dokumentacji i kontroli wersji plików.
• Podstawowe pojêcia z dziedziny obiektowo ci
• Obs³uga obiektów
• Wyj¹tki i obs³uga b³êdów
• Projektowanie obiektowe
• Modelowanie obiektów w jêzyku UML
• Wzorce projektowe
• Stosowanie pakietu PEAR
• Generowanie dokumentacji za pomoc¹ PHPDocumentor
• Zarz¹dzanie wersjami plików w systemie CVS
• Tworzenie pakietów instalacyjnych
Przekonaj siê, jak potê¿nym narzêdziem jest najnowsza wersja jêzyka PHP
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O Autorze ......................................................................................... 9
O Recenzencie Technicznym ........................................................... 10
Przedmowa ..................................................................................... 11
Część I
Wprowadzenie ...............................................................13
Problem .......................................................................................................................... 15
PHP a inne języki programowania ................................................................................. 17
O ksią ce ........................................................................................................................ 19
Podsumowanie ............................................................................................................... 21
Rozdział 1. PHP — projektowanie i zarządzanie ................................................. 15
Część II
Obiekty .........................................................................23
Nieoczekiwany sukces obiektów w PHP ........................................................................ 25
Debata obiektowa — za czy przeciw? ............................................................................ 28
Podsumowanie ............................................................................................................... 29
Rozdział 2. PHP a obiekty ................................................................................ 25
Rozdział 3. Obiektowy elementarz ..................................................................... 31
Klasy i obiekty ............................................................................................................... 31
Definiowanie składowych klasy ..................................................................................... 33
Metody ........................................................................................................................... 36
Typy argumentów metod ................................................................................................ 39
Dziedziczenie ................................................................................................................. 44
Podsumowanie ............................................................................................................... 58
Rozdział 4. Zaawansowana obsługa obiektów ................................................... 59
Metody i składowe statyczne .......................................................................................... 59
Składowe stałe ................................................................................................................ 63
Klasy abstrakcyjne ......................................................................................................... 63
Interfejsy ........................................................................................................................ 66
Obsługa błędów .............................................................................................................. 68
Klasy i metody finalne ................................................................................................... 75
Przechwytywanie chybionych wywołań ......................................................................... 76
Definiowanie destruktorów ............................................................................................ 80
6
PHP5. Obiekty, wzorce, narzędzia
Wykonywanie kopii obiektów ........................................................................................ 81
Reprezentacja obiektu w ciągach znaków ...................................................................... 84
Podsumowanie ............................................................................................................... 85
Rozdział 5. Narzędzia obiektowe ....................................................................... 87
PHP a pakiety ................................................................................................................. 87
Klasy i funkcje pomocnicze ........................................................................................... 92
Reflection API ................................................................................................................ 99
Podsumowanie ............................................................................................................. 110
Rozdział 6. Obiekty a projektowanie ............................................................... 111
Jak rozumieć projektowanie? ....................................................................................... 111
Programowanie obiektowe i proceduralne ................................................................... 112
Zasięg klas .................................................................................................................... 117
Polimorfizm .................................................................................................................. 119
Hermetyzacja ................................................................................................................ 120
Niewa ne jak ................................................................................................................ 122
Cztery drogowskazy ..................................................................................................... 123
Język UML ................................................................................................................... 124
Podsumowanie ............................................................................................................. 133
Część III Wzorce .......................................................................135
Rozdział 7. Czym są wzorce projektowe? Do czego się przydają? ..................... 137
Czym są wzorce projektowe? ....................................................................................... 137
Wzorzec projektowy ..................................................................................................... 139
Format wzorca według Bandy Czworga ....................................................................... 141
Po co nam wzorce projektowe? .................................................................................... 142
Wzorce projektowe a PHP ............................................................................................ 144
Podsumowanie ............................................................................................................. 145
Rozdział 8. Wybrane prawidła wzorców ........................................................... 147
Olśnienie wzorcami ...................................................................................................... 147
Kompozycja i dziedziczenie ......................................................................................... 148
Rozprzęganie ................................................................................................................ 153
Kod ma u ywać interfejsów, nie implementacji ........................................................... 156
Zmienne koncepcje ....................................................................................................... 157
Nadmiar wzorców ........................................................................................................ 158
Wzorce ......................................................................................................................... 159
Podsumowanie ............................................................................................................. 160
Rozdział 9. Generowanie obiektów .................................................................. 161
Generowanie obiektów — problemy i rozwiązania ...................................................... 161
Wzorzec Singleton ....................................................................................................... 165
Wzorzec Factory Method ............................................................................................. 169
Wzorzec Abstract Factory ............................................................................................ 174
Prototyp ........................................................................................................................ 179
Ale to oszustwo! ......................................................................................................... 183
Podsumowanie ............................................................................................................. 185
Rozdział 10. Relacje między obiektami ............................................................. 187
Strukturalizacja klas pod kątem elastyczności obiektów .............................................. 187
Wzorzec Composite ..................................................................................................... 188
Wzorzec Decorator ....................................................................................................... 198
Wzorzec Facade ........................................................................................................... 205
Podsumowanie ............................................................................................................. 208
Spis treści
7
Rozdział 11. Reprezentacja i realizacja zadań ................................................... 209
Wzorzec Interpreter ...................................................................................................... 209
Wzorzec Strategy ......................................................................................................... 219
Wzorzec Observer ........................................................................................................ 224
Wzorzec Visitor ............................................................................................................ 231
Wzorzec Command ...................................................................................................... 238
Podsumowanie ............................................................................................................. 242
Rozdział 12. Wzorce korporacyjne .................................................................... 245
Wprowadzenie .............................................................................................................. 245
Małe oszustwo na samym początku ............................................................................. 248
Warstwa prezentacji ..................................................................................................... 257
Warstwa logiki biznesowej ........................................................................................... 287
Warstwa danych ........................................................................................................... 295
Podsumowanie ............................................................................................................. 317
Część IV Narzędzia ....................................................................319
Rozdział 13. Dobre (i złe) praktyki .................................................................... 321
Nie tylko kod ................................................................................................................ 321
Pukanie do otwartych drzwi ......................................................................................... 322
Jak to zgrać? ................................................................................................................. 324
Uskrzydlanie kodu ........................................................................................................ 325
Dokumentacja ............................................................................................................... 326
Testowanie ................................................................................................................... 328
Podsumowanie ............................................................................................................. 336
Rozdział 14. PEAR ........................................................................................... 337
Czym jest PEAR? ......................................................................................................... 338
Instalowanie pakietu z repozytorium PEAR ................................................................. 338
Korzystanie z pakietu PEAR ........................................................................................ 340
Instalator pakietu PEAR ............................................................................................... 343
Podsumowanie ............................................................................................................. 352
Rozdział 15. Generowanie dokumentacji — phpDocumentor .............................. 353
Po co nam dokumentacja? ............................................................................................ 354
Instalacja ...................................................................................................................... 355
Generowanie dokumentacji .......................................................................................... 355
Komentarze DocBlock ................................................................................................. 357
Dokumentowanie klas .................................................................................................. 358
Dokumentowanie plików .............................................................................................. 360
Dokumentowanie składowych ...................................................................................... 360
Dokumentowanie metod ............................................................................................... 361
Tworzenie odnośników w dokumentacji ...................................................................... 363
Podsumowanie ............................................................................................................. 365
Rozdział 16. Zarządzanie wersjami projektu z CVS ............................................ 367
Po co nam CVS? .......................................................................................................... 367
Skąd wziąć CVS? ......................................................................................................... 368
Konfigurowanie repozytorium CVS ............................................................................. 369
Rozpoczynamy projekt ................................................................................................. 372
Aktualizacja i zatwierdzanie ......................................................................................... 374
Dodawanie i usuwanie plików i katalogów .................................................................. 377
Etykietowanie i eksportowanie wydania ........................................................................ 381
Rozgałęzianie projektu ................................................................................................. 383
Podsumowanie ............................................................................................................. 386
8
PHP5. Obiekty, wzorce, narzędzia
Rozdział 17. Automatyzacja instalacji z Phing ................................................... 389
Czym jest Phing? .......................................................................................................... 390
Pobieranie i instalacja pakietu Phing ............................................................................ 391
Plik kompilacji — build.xml ........................................................................................ 391
Podsumowanie ............................................................................................................. 409
Część V
Konkluzje ....................................................................411
Obiekty ......................................................................................................................... 413
Wzorce ......................................................................................................................... 417
Narzędzia ...................................................................................................................... 420
Podsumowanie ............................................................................................................. 424
Rozdział 18. Obiekty, wzorce, narzędzia ............................................................ 413
Dodatki ......................................................................................425
Dodatek A Bibliografia ................................................................................... 427
Ksią ki .......................................................................................................................... 427
Publikacje ..................................................................................................................... 428
Witryny WWW ............................................................................................................ 428
Dodatek B Prosty analizator leksykalny .......................................................... 429
Skaner ........................................................................................................................... 429
Analizator leksykalny ................................................................................................... 433
Skorowidz ..................................................................................... 445
Zgłoś jeśli naruszono regulamin