PHP. Zaawansowane programowanie. Vademecum profesjonalisty.pdf

(21727 KB) Pobierz
664976711 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
PHP. Zaawansowane
programowanie.
Vademecum profesjonalisty
SPIS TRECI
KATALOG KSI¥¯EK
KATALOG ONLINE
Autor: George Schlossnagle
T³umaczenie: W³odzimierz Gajda, Pawe³ Gonera,
Rados³aw Meryk, Jacek Smycz
ISBN: 83-7361-589-X
Tytu³ orygina³ u: Advanced PHP Programming
Format: B5, stron: 624
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
PHP to obecnie jeden z najpopularniejszych jêzyków programowania s³u¿¹cych do
tworzenia aplikacji internetowych. Od pocz¹tku jego istnienia wykorzystywano go do
tworzenia dynamicznych witryn WWW. Dynamiczny rozwój sprawi³, ¿e mo¿liwoci jego
zastosowania znacznie siê poszerzy³y. Obecnie u¿ywa siê PHP do tworzenia aplikacji,
które jeszcze niedawno wydawa³y siê niemo¿liwe do napisania w tym jêzyku.
Pocz¹tkowo wykorzystywany przez grono entuzjastów, z czasem sta³ siê stabiln¹
i dobrze udokumentowan¹ platform¹ programistyczn¹, licz¹c¹ siê na rynku.
Ksi¹¿ka „PHP. Zaawansowane programowanie. Vademecum profesjonalisty” to pozycja
dla tych, którzy chc¹ zostaæ ekspertami w dziedzinie tworzenia aplikacji w PHP.
Opisuje najbardziej zaawansowane mechanizmy jêzyka, pozwalaj¹ce na zastosowanie
go w z³o¿onych aplikacjach. Przedstawia techniki programowania obiektowego,
testowania jednostek leksykalnych, zagadnienia bezpieczeñstwa, techniki buforowania
oraz sposoby tworzenia skalowalnych aplikacji internetowych. W ksi¹¿ce omówiono
równie¿ dostrajanie wydajnoci oraz tworzenie rozszerzeñ PHP. Wszystkie, nawet
najbardziej skomplikowane kwestie zosta³y opisane w przejrzysty sposób i zilustrowane
kompletnymi przyk³adami zastosowania w prawdziwych aplikacjach.
• Styl kodowania
• Programowanie obiektowe i wzorce projektowe
• Obs³uga b³êdów
• Korzystanie z szablonów Smarty
• Testowanie modu³ów
• Zarz¹dzanie wersjami — system CVS
• Techniki buforowania
• Dostêp do baz danych
• Autoryzacja u¿ytkowników
• Tworzenie rodowiska rozproszonego
• Wykorzystanie us³ug sieciowych
• Wydajnoæ aplikacji
• Tworzenie rozszerzeñ PHP
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
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
664976711.001.png 664976711.002.png 664976711.003.png 664976711.004.png
 
Wybór wygodnego stylu programowania ............................................................................26
Formatowanie kodu i układ ...........................................................................................26
Wcicia..........................................................................................................................26
Długo wiersza.............................................................................................................28
Zastosowanie odstpów .................................................................................................29
Zalecenia na temat SQL.................................................................................................29
Instrukcje steruj)ce ........................................................................................................30
Nazewnictwo symboli..........................................................................................................35
Zmienne faktycznie globalne oraz stałe.........................................................................36
Zmienne długowieczne..................................................................................................38
Zmienne tymczasowe ....................................................................................................38
Nazwy wieloczłonowe...................................................................................................39
Nazwy funkcji................................................................................................................39
Nazwy klas ....................................................................................................................40
Nazwy metod.................................................................................................................40
Spójno nazw ...............................................................................................................40
Dopasowanie nazw zmiennych do nazw schematu........................................................40
Unikanie myl)cego kodu .....................................................................................................41
Unikanie korzystania z otwartych znaczników..............................................................42
Unikanie korzystania z funkcji echo do tworzenia kodu HTML ...................................42
Rozs)dne korzystanie z nawiasów.................................................................................43
Dokumentacja ......................................................................................................................43
Dokumentacja wewn)trz kodu.......................................................................................44
Dokumentacja API.........................................................................................................45
Dalsze lektury ......................................................................................................................49
!"#$
Wstp do programowania obiektowego...............................................................................52
Dziedziczenie.................................................................................................................53
Hermetyzacja .................................................................................................................54
Atrybuty i metody statyczne (klasowe)..........................................................................55
Metody specjalne...........................................................................................................56
6
PHP. Zaawansowane programowanie. Vademecum profesjonalisty
Krótkie wprowadzenie do wzorców projektowych..............................................................57
Wzorzec Adaptor...........................................................................................................58
Wzorzec Template .........................................................................................................62
Polimorfizm...................................................................................................................63
Interfejsy i podpowiadanie typów..................................................................................65
Wzorzec Factory............................................................................................................67
Wzorzec Singleton.........................................................................................................68
Przeci)=anie .........................................................................................................................70
SPL i iteratory................................................................................................................ 75
__call ()..........................................................................................................................80
__autoload()................................................................................................................... 82
Dalsze lektury ......................................................................................................................83
" "%&
Obsługa błdów ...................................................................................................................87
Wywietlanie błdów.....................................................................................................88
Rejestrowanie błdów....................................................................................................89
Ignorowanie błdów ......................................................................................................90
Reagowanie na błdy.....................................................................................................90
Obsługa błdów zewntrznych.............................................................................................92
Wyj)tki ................................................................................................................................94
Wykorzystanie hierarchii wyj)tków ..............................................................................97
Przykład zastosowania wyj)tków ..................................................................................99
Wyj)tki kaskadowe......................................................................................................104
Obsługa błdu działania konstruktora..........................................................................107
Instalowanie wysokopoziomowej procedury obsługi wyj)tków..................................108
Kontrola poprawnoci danych .....................................................................................110
Kiedy korzysta z wyj)tków? ............................................................................................114
Dalsze lektury ....................................................................................................................114
' (!!#$)*"+
Smarty................................................................................................................................116
Instalowanie Smarty ....................................................................................................116
Pierwszy szablon Smarty .............................................................................................118
Pod mask) skompilowanych szablonów......................................................................118
Struktury steruj)ce Smarty...........................................................................................119
Funkcje Smarty i wicej...............................................................................................122
Buforowanie w Smarty ................................................................................................124
Zaawansowane funkcje Smarty ...................................................................................126
Tworzenie własnego systemu szablonów...........................................................................127
Dalsze lektury ....................................................................................................................128
(!!#$)*!
Wprowadzenie do interfejsu wiersza poleceB PHP (CLI)..................................................133
Obsługa wejcia-wyjcia....................................................................................................133
Analizowanie argumentów wiersza poleceB ......................................................................136
Tworzenie procesów potomnych i zarz)dzanie nimi..........................................................138
Zamykanie współdzielonych zasobów.........................................................................139
Współdzielenie zmiennych..........................................................................................139
Porz)dkowanie po procesach potomnych ....................................................................139
Sygnały........................................................................................................................ 141
Spis treci
7
Tworzenie demonów..........................................................................................................146
Zmiana katalogu roboczego.........................................................................................147
Zmniejszanie uprawnieB..............................................................................................147
Gwarantowanie wył)cznoci .......................................................................................148
Ł)czymy wszystko razem — kontrolowanie usług............................................................148
Dalsze lektury ....................................................................................................................157
, -!%.
Wprowadzenie do testowania modułów.............................................................................160
Tworzenie testów dla automatycznego testowania modułów ......................................161
Pierwszy test modułu...................................................................................................161
Dodawanie wielu testów..............................................................................................162
Tworzenie wewntrznych i zewntrznych testów modułów ..............................................163
Testy wewn)trz modułu...............................................................................................164
Testy na zewn)trz modułu...........................................................................................165
Jednoczesne uruchamianie wielu testów......................................................................166
Dodatkowe funkcje w PHPUnit.........................................................................................168
Tworzenie opisowych komunikatów błdów...............................................................168
Dodawanie wikszej liczby warunków testowych.......................................................169
Zastosowanie metod setUp() oraz tearDown().............................................................171
Dodawanie nasłuchów .................................................................................................171
Wykorzystanie interfejsu graficznego..........................................................................173
Projektowanie sterowane testami.......................................................................................173
Kalkulator oceny Flescha.............................................................................................174
Testowanie klasy Word ...............................................................................................175
Raport błdów..............................................................................................................182
Testowanie modułów w rodowisku WWW......................................................................184
Dalsze lektury ....................................................................................................................186
/01! !#!&
Kontrola wersji...................................................................................................................188
Podstawy CVS.............................................................................................................189
Modyfikacja plików.....................................................................................................192
Badanie ró=nic midzy plikami....................................................................................193
Mechanizmy usprawniaj)ce prac wielu programistów na tym samym projekcie.......195
Znaczniki symboliczne ................................................................................................197
Gałzie.........................................................................................................................198
Zarz)dzanie rodowiskiem produkcyjnym oraz programistycznym ............................199
Zarz)dzanie pakietami .......................................................................................................203
Tworzenie pakietów i przenoszenie kodu....................................................................204
Tworzenie pakietów plików binarnych........................................................................207
Tworzenie pakietu Apache ..........................................................................................208
Tworzenie pakietu PHP ...............................................................................................209
Dalsze lektury ....................................................................................................................209
& $" (
Projektowanie zapewniaj)ce mo=liwoci rozszerzania i łatwo modyfikacji...................212
Umieszczenie logiki w funkcjach ................................................................................212
Tworzenie prostych klas i funkcji................................................................................214
Przestrzenie nazw ........................................................................................................214
Zmniejszanie sprz=eB.................................................................................................216
Kodowanie defensywne .....................................................................................................217
Wprowadzenie standardowych konwencji...................................................................218
U=ycie technik oczyszczania danych...........................................................................218
Dalsze lektury ....................................................................................................................220
D:\PDF\PHP. Zaawansowane programowanie. Vademecum profesjonalisty\__Spis tre ci.doc
7
8
PHP. Zaawansowane programowanie. Vademecum profesjonalisty
. $$1#$
Techniki dostrajania na poziomie jzyka ...........................................................................223
Bufory kompilatora......................................................................................................223
Optymalizatory ............................................................................................................226
Akceleratory HTTP .....................................................................................................227
Odwrotne serwery proxy..............................................................................................228
Dostrajanie systemu operacyjnego...............................................................................233
Bufory proxy................................................................................................................234
Aplikacje PHP przystosowane do wykorzystania buforowania .........................................234
Kompresja..........................................................................................................................239
Dalsze lektury ....................................................................................................................240
Dokumenty RFC..........................................................................................................240
Bufory kompilatora......................................................................................................240
Bufory proxy................................................................................................................240
Kompresja....................................................................................................................241
2 34!%#5'
Właciwoci buforowania ..................................................................................................243
Identyfikacja komponentów danych, które nadaj) si do buforowania..............................245
Wybór właciwej strategii: klasy własne czy biblioteczne?...............................................245
Buforowanie wyników.......................................................................................................246
Buforowanie w pamici .....................................................................................................248
Bufor w postaci pojedynczego pliku............................................................................248
Zarz)dzanie rozmiarem bufora ....................................................................................249
Współbie=ny dostp i spójno buforów......................................................................250
Buforowanie z wykorzystaniem plików DBM...................................................................256
Współbie=ny dostp i spójno buforów......................................................................257
Weryfikacja bufora i zarz)dzanie ................................................................................257
Buforowanie we współdzielonej pamici...........................................................................262
Buforowanie z wykorzystaniem plików cookie .................................................................263
Zarz)dzanie rozmiarem bufora ....................................................................................267
Współbie=ny dostp i spójno buforów......................................................................268
Integracja buforowania w kodzie aplikacji.........................................................................268
Buforowanie stron głównych.......................................................................................270
Wykorzystanie modułu mod_rewrite serwera Apache
w celu wykonania inteligentnego buforowania.........................................................276
Buforowanie czci stron.............................................................................................280
Implementacja bufora zapytaB.....................................................................................282
Dalsze lektury ....................................................................................................................284
"#6&
Wstp z przykładem — ci)gi Fibonacciego.......................................................................285
Buforowanie danych do wielokrotnego u=ytku wewn)trz =)daB .......................................291
Buforowanie wielokrotnie wykorzystywanych danych pomidzy =)daniami....................293
Wielokrotne wykorzystywanie obliczeB w PHP ................................................................297
Wyra=enia PCRE.........................................................................................................297
Liczniki rozmiarów tablic............................................................................................297
Dalsze lektury ....................................................................................................................298
Zgłoś jeśli naruszono regulamin