PHP5. Tajniki programowania - Helion
Tytuł oryginału: PHP 5 Power Programming
Tłumaczenie: Daniel Kaczmarek (przedmowa, rozdz. 1, 8-11), Radosław Meryk (rozdz. 12-16, dod. A-C), Anna Zawadzka (rozdz. 2 - 7)
ISBN: 83-7361-856-2
stron: 728, Format: B5, okładka: miękka
Data wydania: 2005-06-09
Księgarnia: Helion
Cena książki: 79,00 zł
Odkryj potęgę najnowszej wersji języka PHP
- Zaawansowane techniki programowania w PHP5
- Wzorce projektowe i stosowanie technologii XML i SOAP
- Sposoby poprawy wydajności aplikacji
- Współpraca z bazami danych
PHP w ciągu ostatnich lat stał się jednym z najpopularniejszych języków programowania wykorzystywanych do tworzenia aplikacji internetowych. Swój sukces zawdzięcza prostocie i ogromnym możliwościom, pozwalającym na pisanie rozbudowanych aplikacji, znacznie przekraczających funkcjonalnością "zwykłe" portale i dynamiczne strony WWW. Najnowsza wersja języka PHP, oznaczona numerem 5, to w pełni obiektowy język programowania umożliwiający realizację złożonych projektów. Posiada mechanizmy obsługi plików XML i protokołu SOAP oraz poprawione i rozbudowane funkcje do komunikacji z bazami danych.
"PHP5. Tajniki programowania" to napisany przez współtwórcę języka PHP5 oraz dwóch doskonałych programistów przewodnik opisujący ogromne możliwości tej platformy. Autorzy przedstawiają sposoby wykorzystania PHP5 w projektach informatycznych o dowolnej skali złożoności. Omawiają model obiektowy PHP5, wzorce projektowe, metody korzystania z plików XML i technologii SOAP oraz techniki współpracy z bazami danych. W książce znajdziesz także szczegółowe omówienie biblioteki PEAR, obsługi wyjątków oraz metod optymalizowania wydajności aplikacji.
- Nowe możliwości PHP5
- Podstawy PHP5 i programowania zorientowanego obiektowo
- Stosowanie wzorców projektowych
- Techniki tworzenia aplikacji WWW
- Komunikacja z bazami danych, współpraca z MySQL i SQLite
- Obsługa błędów i wyjątków
- Przetwarzanie plików XML
- Instalowanie biblioteki PEAR
- Pakiety PEAR
- Tworzenie komponentów PEAR
- Przenoszenie kodu z PHP4 do wersji PHP5
- Projektowanie wydajnych aplikacji
Jeśli tworzysz aplikacje WWW, pakiety lub rozszerzenia PHP, w tej książce znajdziesz odpowiedzi na wszystkie pytania.
Osoby które kupowały "PHP5. Tajniki programowania", wybierały także:
- Tablice informatyczne. PHP7 19,67 zł, (5,90 zł -70%)
- PHP. Obiekty, wzorce, narzędzia. Wydanie V 115,81 zł, (35,90 zł -69%)
- PHP i jQuery. Techniki zaawansowane. Wydanie II 65,31 zł, (20,90 zł -68%)
- PHP i MySQL. Kurs video. Tw 148,98 zł, (59,59 zł -60%)
- Naucz si 129,00 zł, (51,60 zł -60%)
Spis treści
PHP5. Tajniki programowania -- spis treści
Słowo wstępne (15)
Przedmowa (17)
Rozdział 1. Co nowego w PHP5? (25)
- 1.1. Wprowadzenie (25)
- 1.2. Własności języka (25)
- 1.2.1. Nowy model zorientowany obiektowo (25)
- 1.2.2. Nowe mechanizmy zorientowane obiektowo (27)
- 1.2.3. Pozostałe nowe mechanizmy języka (31)
- 1.3. Ogólne zmiany w PHP (32)
- 1.3.1. XML i usługi sieciowe (32)
- 1.4. Pozostałe nowe mechanizmy PHP5 (36)
- 1.4.1. Nowy menedżer pamięci (36)
- 1.4.2. Wycofana obsługa Windows 95 (36)
- 1.5. Podsumowanie (36)
Rozdział 2. Podstawy języka PHP5 (37)
- 2.1. Wprowadzenie (37)
- 2.2. Osadzanie w HTML (38)
- 2.3. Komentarze (38)
- 2.4. Zmienne (39)
- 2.4.1. Pośrednie referencje do zmiennych (40)
- 2.4.2. Zarządzanie zmiennymi (40)
- 2.4.3. Superglobale (42)
- 2.5. Podstawowe typy danych (43)
- 2.5.1. Liczby całkowite (43)
- 2.5.2. Liczby zmiennopozycyjne (43)
- 2.5.3. Łańcuchy (44)
- 2.5.4. Typ logiczny (boolowski) (46)
- 2.5.5. Null (47)
- 2.5.6. Identyfikator zasobów (resource) (48)
- 2.5.7. Tablice (48)
- 2.5.8. Stałe (54)
- 2.6. Operatory (55)
- 2.6.1. Operatory binarne (56)
- 2.6.2. Operatory przypisania (56)
- 2.6.3. Operatory porównania (57)
- 2.6.4. Operatory logiczne (58)
- 2.6.5. Operatory bitowe (59)
- 2.6.6. Operatory jednoargumentowe (59)
- 2.6.7. Operatory negacji (59)
- 2.6.8. Operatory inkrementacji i dekrementacji (60)
- 2.6.9. Operatory rzutowania (61)
- 2.6.10. Operator kontroli błędów (61)
- 2.6.11. Jedyny operator trójargumentowy (tzw. ternariusz) (62)
- 2.7. Struktury kontrolne (62)
- 2.7.1. Warunkowe struktury kontrolne (62)
- 2.7.2. Struktury kontrolne w postaci pętli (65)
- 2.7.3. Struktury kontrolne dołączania kodu (68)
- 2.8. Funkcje (70)
- 2.8.1. Funkcje definiowane przez użytkownika (71)
- 2.8.2. Zasięg funkcji (71)
- 2.8.3. Zwracanie wartości przez wartość (72)
- 2.8.4. Zwracanie wartości przez referencję (73)
- 2.8.5. Definiowanie parametrów funkcji (73)
- 2.8.6. Zmienne statyczne (75)
- 2.9. Podsumowanie (75)
Rozdział 3. Język obiektowy (77)
- 3.1. Wprowadzenie (77)
- 3.2. Obiekty (78)
- 3.3. Deklarowanie klasy (79)
- 3.4. Słowo kluczowe new i konstruktory (79)
- 3.5. Destruktory (80)
- 3.6. Odwoływanie się do metod i właściwości przy użyciu zmiennej $this (81)
- 3.6.1. Właściwości public, protected i private (81)
- 3.6.2. Metody public, protected i private (83)
- 3.6.3. Właściwości statyczne (84)
- 3.6.4. Metody statyczne (86)
- 3.7. Stałe klasy (86)
- 3.8. Klonowanie obiektów (87)
- 3.9. Polimorfizm (89)
- 3.10. parent:: i self:: (91)
- 3.11. Operator instanceof (92)
- 3.12. Metody i klasy abstrakcyjne (93)
- 3.13. Interfejsy (94)
- 3.14. Dziedziczenie interfejsów (96)
- 3.15. Metody final (96)
- 3.16. Klasy final (97)
- 3.17. Metoda __toString() (97)
- 3.18. Obsługa wyjątków (98)
- 3.19. __autoload() (101)
- 3.20. Wskazania typu klasy w parametrach funkcji (103)
- 3.21. Podsumowanie (104)
Rozdział 4. Zaawansowane programowanie obiektowe i wzorce projektowe (105)
- 4.1. Wprowadzenie (105)
- 4.2. Możliwości przeciążania (105)
- 4.2.1. Przeciążanie właściwości i metod (106)
- 4.2.2. Przeciążanie składni dostępu do tablic (108)
- 4.3. Iteratory (109)
- 4.4. Wzorce projektowe (113)
- 4.4.1. Wzorzec strategii (114)
- 4.4.2. Wzorzec Singleton (116)
- 4.4.3. Wzorzec fabryki (117)
- 4.4.4. Wzorzec obserwatora (120)
- 4.5. Refleksja (ang. reflection) (122)
- 4.5.1. Wprowadzenie (122)
- 4.5.2. Interfejs Reflector (123)
- 4.5.3. Przykłady użycia refleksji (125)
- 4.5.4. Implementowanie wzorca delegata przy użyciu refleksji (126)
- 4.6. Podsumowanie (128)
Rozdział 5. Jak napisać aplikację sieci WWW z PHP (129)
- 5.1. Wprowadzenie (129)
- 5.2. Osadzanie w kodzie HTML (130)
- 5.3. Dane wprowadzane przez użytkownika (132)
- 5.4. Zabezpieczanie danych wprowadzanych przez użytkownika (134)
- 5.4.1. Pospolite błędy (135)
- 5.5. Techniki zabezpieczania skryptów (137)
- 5.5.1. Sprawdzanie danych wejściowych (137)
- 5.5.2. Weryfikacja HMAC (139)
- 5.5.3. PEAR::Crypt_HMAC (140)
- 5.5.4. Program filtrujący (143)
- 5.5.5. Praca z hasłami (144)
- 5.5.6. Obsługa błędów (145)
- 5.6. Cookies (146)
- 5.7. Sesje (149)
- 5.8. Wgrywanie plików (ang. upload) (153)
- 5.8.1. Obsługiwanie przychodzącego wgrywanego pliku (153)
- 5.9. Architektura (158)
- 5.9.1. Jeden skrypt obsługuje wszystko (158)
- 5.9.2. Jeden skrypt na funkcję (159)
- 5.9.3. Oddzielanie logiki od układu (159)
- 5.10. Podsumowanie (161)
Rozdział 6. Bazy danych z PHP5 (163)
- 6.1. Wprowadzenie (163)
- 6.2. MySQL (164)
- 6.2.1. Mocne i słabe strony MySQL (164)
- 6.2.2. Interfejs PHP (165)
- 6.2.3. Przykładowe dane (166)
- 6.2.4. Połączenia (166)
- 6.2.5. Zapytania buforowane i niebuforowane (168)
- 6.2.6. Zapytania (168)
- 6.2.7. Zapytania z wieloma instrukcjami (169)
- 6.2.8. Tryby pobierania (170)
- 6.2.9. Zapytania preinterpretowane (170)
- 6.2.10. Obsługa BLOB (173)
- 6.3. SQLite (174)
- 6.3.1. Mocne i słabe strony SQLite (174)
- 6.3.2. Najlepsze obszary zastosowania (176)
- 6.3.3. Interfejs PHP (176)
- 6.4. PEAR DB (191)
- 6.4.1. Uzyskiwanie PEAR BD (191)
- 6.4.2. Wady i zalety abstrakcji baz danych (191)
- 6.4.3. Które funkcje są abstrahowane (192)
- 6.4.4. Połączenia z bazą danych (193)
- 6.4.5. Wykonywanie zapytań (195)
- 6.4.6. Pobieranie wyników (198)
- 6.4.7. Sekwencje (200)
- 6.4.8. Funkcje związane z przenośnością (201)
- 6.4.9. Błędy abstrakcyjne (203)
- 6.4.10. Metody złożone (205)
- 6.5. Podsumowanie (207)
Rozdział 7. Obsługa błędów (209)
- 7.1. Wprowadzenie (209)
- 7.2. Rodzaje błędów (210)
- 7.2.1. Błędy programistyczne (210)
- 7.2.2. Niezdefiniowane symbole (213)
- 7.2.3. Błędy dotyczące przenośności (215)
- 7.2.4. Błędy wykonania (219)
- 7.2.5. Błędy PHP (219)
- 7.3. Błędy PEAR (225)
- 7.3.1. Klasa PEAR_Error (228)
- 7.3.2. Obsługa błędów PEAR (231)
- 7.3.3. Tryby błędów PEAR (232)
- 7.3.4. Łagodna obsługa błędów (233)
- 7.4. Wyjątki (235)
- 7.4.1. Co to są wyjątki (235)
- 7.4.2. try, catch i throw (236)
- 7.5. Podsumowanie (238)
Rozdział 8. XML i PHP5 (239)
- 8.1. Wprowadzenie (239)
- 8.2. Słownictwo (240)
- 8.3. Parsowanie XML-a (242)
- 8.3.1. SAX (242)
- 8.3.2. DOM (246)
- 8.4. SimpleXML (250)
- 8.4.1. Tworzenie obiektu SimpleXML (251)
- 8.4.2. Przeglądanie obiektów SimpleXML (251)
- 8.4.3. Zapisywanie obiektów SimpleXML (253)
- 8.5. PEAR (253)
- 8.5.1. XML_Tree (253)
- 8.5.2. XML_RSS (254)
- 8.6. Przekształcanie XML-a (257)
- 8.6.1. XSLT (257)
- 8.7. Komunikacja za pośrednictwem XML (261)
- 8.7.1. XML-RPC (262)
- 8.7.2. SOAP (269)
- 8.8. Podsumowanie (275)
Rozdział 9. Najważniejsze rozszerzenia (277)
- 9.1. Wprowadzenie (277)
- 9.2. Pliki i strumienie (278)
- 9.2.1. Dostęp do plików (278)
- 9.2.2. Dane wejściowe i wyjściowe z programu (280)
- 9.2.3. Strumienie wejścia/wyjścia (283)
- 9.2.4. Strumienie kompresji (284)
- 9.2.5. Strumienie użytkownika (286)
- 9.2.6. Strumienie URL (288)
- 9.2.7. Blokowanie (292)
- 9.2.8. Zmiana nazwy i usuwanie plików (293)
- 9.2.9. Pliki tymczasowe (294)
- 9.3. Wyrażenia regularne (295)
- 9.3.1. Składnia (295)
- 9.3.2. Funkcje (308)
- 9.4. Obsługa dat (315)
- 9.4.1. Odczytywanie daty i godziny (315)
- 9.4.2. Formatowanie daty i godziny (318)
- 9.4.3. Parsowanie dat w różnych formatach (326)
- 9.5. Operacje na grafice przy użyciu GD (326)
- 9.5.1. Przypadek 1: formularz odporny na działanie robotów (328)
- 9.5.2. Przypadek 2: wykres słupkowy (333)
- 9.5.3. Rozszerzenie Exif (338)
- 9.6. Wielobajtowe ciągi i zestawy znaków (340)
- 9.6.1. Konwersje zestawów znaków (341)
- 9.6.2. Dodatkowe funkcje obsługujące zestawy znaków wielobajtowych (346)
- 9.6.3. Ustawienia międzynarodowe (350)
- 9.7. Podsumowanie (353)
Rozdział 10. Stosowanie PEAR (355)
- 10.1. Wprowadzenie (355)
- 10.2. Pojęcia związane z PEAR (356)
- 10.2.1. Pakiety (356)
- 10.2.2. Wersje (357)
- 10.2.3. Numery wersji (358)
- 10.3. Pobieranie repozytorium PEAR (360)
- 10.3.1. Instalowanie dystrybucji PHP PEAR dla systemów UNIX/Linux (360)
- 10.3.2. Windows (361)
- 10.3.3. go-pear.org (362)
- 10.4. Instalowanie pakietów (365)
- 10.4.1. Polecenie pear (366)
- 10.5. Parametry konfiguracyjne (369)
- 10.6. Polecenia PEAR (376)
- 10.6.1. Polecenie pear install (376)
- 10.6.2. Polecenie pear list (380)
- 10.6.3. Polecenie pear info (381)
- 10.6.4. Polecenie pear list-all (382)
- 10.6.5. Polecenie pear list-upgrades (382)
- 10.6.6. Polecenie pear upgrade (383)
- 10.6.7. Polecenie pear upgrade-all (384)
- 10.6.8. Polecenie pear uninstall (385)
- 10.6.9. Polecenie pear search (385)
- 10.6.10. Polecenie pear remote-list (386)
- 10.6.11. Polecenie pear remote-info (387)
- 10.6.12. Polecenie pear download (387)
- 10.6.13. Polecenie pear config-get (388)
- 10.6.14. Polecenie pear config-set (388)
- 10.6.15. Polecenie pear config-show (388)
- 10.6.16. Skróty (389)
- 10.7. Interfejsy instalatora (390)
- 10.7.1. Instalator CLI (Command Line Interface) (390)
- 10.7.2. Instalator Gtk (390)
- 10.8. Podsumowanie (393)
Rozdział 11. Najważniejsze pakiety PEAR (395)
- 11.1. Wprowadzenie (395)
- 11.2. Zapytania do bazy danych (395)
- 11.3. Systemy szablonów (395)
- 11.3.1. Pojęcia związane z szablonami (396)
- 11.3.2. Szablon HTML_Template_IT (396)
- 11.3.3. Szablon HTML_Template_Flexy (399)
- 11.4. Uwierzytelnianie (404)
- 11.4.1. Informacje ogólne (404)
- 11.4.2. Przykład: Auth i plik z hasłami (405)
- 11.4.3. Przykład: Auth i baza danych z danymi o użytkowniku (406)
- 11.4.4. Bezpieczeństwo pracy z pakietem Auth (408)
- 11.4.5. Skalowalność Auth (410)
- 11.4.6. Podsumowanie informacji o Auth (411)
- 11.5. Obsługa formularzy (411)
- 11.5.1. Pakiet HTML_QuickForm (411)
- 11.5.2. Przykład: formularz logowania (412)
- 11.5.3. Pobieranie danych (412)
- 11.6. Buforowanie (412)
- 11.6.1. Pakiet Cache_Lite (413)
- 11.7. Podsumowanie (414)
Rozdział 12. Tworzenie komponentów PEAR (415)
- 12.1. Wprowadzenie (415)
- 12.2. Standardy PEAR (415)
- 12.2.1. Nazewnictwo symboli (416)
- 12.2.2. Wcięcia (418)
- 12.3. Numery wersji (420)
- 12.4. Środowisko wiersza polecenia (421)
- 12.5. Podstawy (422)
- 12.5.1. Kiedy i w jaki sposób można dołączać pliki (422)
- 12.5.2. Obsługa błędów (423)
- 12.6. Tworzenie pakietów (423)
- 12.6.1. Przykład PEAR: HelloWorld (424)
- 12.6.2. Tworzenie archiwum tarball (426)
- 12.6.3. Weryfikacja (427)
- 12.6.4. Testy regresji (428)
- 12.7. Format pliku package.xml (428)
- 12.7.1. Informacje o pakiecie (429)
- 12.7.2. Informacje o wersji (431)
- 12.8. Zależności (436)
- 12.8.1. Element <deps> (436)
- 12.8.2. Element <dep> (436)
- 12.8.3. Typy zależności (437)
- 12.8.4. Dlaczego należy unikać zależności (438)
- 12.8.5. Zależności opcjonalne (439)
- 12.8.6. Przykłady (439)
- 12.9. Zastępowanie ciągów znaków (440)
- 12.9.1. Element <replace> (440)
- 12.9.2. Przykłady (440)
- 12.10. Włączanie kodu w języku C (441)
- 12.10.1. Element <configureoptions> (441)
- 12.10.2. Element <configureoption> (441)
- 12.11. Publikowanie pakietów (442)
- 12.12. Proces publikowania pakietów PEAR (442)
- 12.13. Przygotowanie pakietu (444)
- 12.13.1. Analiza kodu źródłowego (444)
- 12.13.2. Generowanie sum kontrolnych MD5 (444)
- 12.13.3. Aktualizacja pliku package.xml (444)
- 12.13.4. Tworzenie archiwum tarball (445)
- 12.14. Przesyłanie kodu (445)
- 12.14.1. Przesyłanie wydania (445)
- 12.14.2. Koniec (446)
- 12.15. Podsumowanie (446)
Rozdział 13. Migracja (447)
- 13.1. Wprowadzenie (447)
- 13.2. Model obiektowy (447)
- 13.3. Przekazywanie obiektów do funkcji (448)
- 13.4. Tryb zgodności (449)
- 13.4.1. Konwersja obiektów (449)
- 13.4.2. Porównywanie obiektów (450)
- 13.5. Inne zmiany (451)
- 13.5.1. Przypisywanie wartości do zmiennej $this (451)
- 13.5.2. get_class (454)
- 13.6. E_STRICT (454)
- 13.6.1. "Automagiczne" tworzenie obiektów (454)
- 13.6.2. var i public (455)
- 13.6.3. Konstruktory (455)
- 13.6.4. Metody dziedziczone (456)
- 13.6.5. Definiowanie klas przed ich wykorzystaniem (456)
- 13.7. Inne problemy zgodności (456)
- 13.7.1. Interfejs wiersza polecenia (457)
- 13.7.2. Komentarze (457)
- 13.7.3. MySQL (458)
- 13.8. Zmiany w funkcjach (458)
- 13.8.1. array_merge() (459)
- 13.8.2. strrpos() i strripos() (459)
- 13.9. Podsumowanie (460)
Rozdział 14. Wydajność (461)
- 14.1. Wprowadzenie (461)
- 14.2. Projektowanie wydajnych aplikacji (462)
- 14.2.1. Wskazówka 1: uwaga na stany (462)
- 14.2.2. Wskazówka 2: buforowanie (463)
- 14.2.3. Wskazówka 3: nie należy przesadzać z projektowaniem (469)
- 14.3. Testy szybkości (470)
- 14.3.1. Zastosowanie programu ApacheBench (470)
- 14.3.2. Zastosowanie programu Siege (471)
- 14.3.3. Testowanie a rzeczywisty ruch (472)
- 14.4. Tworzenie profilu aplikacji za pomocą programu Profiler z pakietu Zend Studio (472)
- 14.5. Tworzenie profili za pomocą APD (473)
- 14.5.1. Instalacja debugera APD (474)
- 14.5.2. Analiza danych (475)
- 14.6. Tworzenie profili za pomocą programu Xdebug (478)
- 14.6.1. Instalacja programu Xdebug (478)
- 14.6.2. Śledzenie wykonywania skryptu (479)
- 14.6.3. Zastosowanie programu KCachegrind (481)
- 14.7. Zastosowanie APC (Advanced PHP Cache) (483)
- 14.8. Zastosowanie ZPS (Zend Performance Suite) (484)
- 14.8.1. Automatyczna optymalizacja (484)
- 14.8.2. Buforowanie skompilowanego kodu (485)
- 14.8.3. Buforowanie dynamicznych stron (486)
- 14.8.4. Kompresja stron (489)
- 14.9. Optymalizacja kodu (490)
- 14.9.1. Mikrotesty szybkości (491)
- 14.9.2. Przepisywanie kodu w PHP na język C (493)
- 14.9.3. Kod obiektowy a proceduralny (493)
- 14.10. Podsumowanie (495)
Rozdział 15. Wstęp do pisania rozszerzeń PHP (497)
- 15.1. Wprowadzenie (497)
- 15.2. Szybki start (498)
- 15.2.1. Zarządzanie pamięcią (503)
- 15.2.2. Zwracanie wartości z funkcji PHP (504)
- 15.2.3. Dokończenie funkcji self_concat() (504)
- 15.2.4. Podsumowanie przykładu (506)
- 15.2.5. Tworzenie interfejsu dla bibliotek zewnętrznych (506)
- 15.2.6. Zmienne globalne (515)
- 15.2.7. Wprowadzanie własnych dyrektyw INI (515)
- 15.2.8. Makra TSRM (Thread-Safe Resource Manager) (517)
- 15.3. Podsumowanie (518)
Rozdział 16. Tworzenie skryptów powłoki w PHP (521)
- 16.1. Wprowadzenie (521)
- 16.2. Wykorzystanie PHP do pisania skryptów powłoki działających w wierszu polecenia (521)
- 16.2.1. Różnice pomiędzy wersjami CLI i CGI (522)
- 16.2.2. Środowisko wykonywania skryptów powłoki (524)
- 16.2.3. Przetwarzanie opcji wiersza polecenia (526)
- 16.2.4. Dobre praktyki (529)
- 16.2.5. Zarządzanie procesami (530)
- 16.2.6. Przykłady (533)
- 16.3. Podsumowanie (539)
Dodatek A Zestawienie pakietów repozytoriów PEAR i PECL (541)
- A.1. Uwierzytelnianie (541)
- A.2. Testy szybkości (545)
- A.3. Buforowanie (545)
- A.4. Konfiguracja (546)
- A.5. Obsługa konsoli (547)
- A.6. Bazy danych (549)
- A.7. Godziny i daty (560)
- A.8. Szyfrowanie (562)
- A.9. Formaty plików (564)
- A.10. System plików (568)
- A.11. Elementy obsługi Gtk (570)
- A.12. HTML (571)
- A.13. HTTP (585)
- A.14. Pliki graficzne (588)
- A.15. Obsługa ustawień międzynarodowych (592)
- A.16. Rejestrowanie (594)
- A.17. Poczta (595)
- A.18. Operacje matematyczne (598)
- A.19. Obsługa sieci (602)
- A.20. Liczby (616)
- A.21. Płatności (617)
- A.22. PEAR (619)
- A.23. PHP (621)
- A.24. Przetwarzanie danych (629)
- A.25. Obliczenia naukowe (629)
- A.26. Strumienie (630)
- A.27. Struktury (632)
- A.28. System (634)
- A.29. Przetwarzanie tekstu (635)
- A.30. Narzędzia (637)
- A.31. Serwisy internetowe (640)
- A.32. XML (642)
Dodatek B Format pakietu phpDocumentor (653)
- B.1. Wprowadzenie (653)
- B.2. Tworzenie dokumentacji za pomocą komentarzy (654)
- B.3. Znaczniki (655)
- B.4. Tabela znaczników (670)
- B.5. Korzystanie z narzędzia phpDocumentor (670)
Dodatek C Zend Studio - szybki start (679)
- C.1. Wersja 3.5.x (679)
- C.2. O podręczniku Zend Studio Client - szybki start (679)
- C.3. O firmie Zend (680)
- C.4. Zend Studio Client: przegląd (680)
- C.5. Edycja plików (683)
- C.6. Projekty (684)
- C.7. Korzystanie z debugera (685)
- C.8. Konfiguracja pakietu Zend Studio Server w celu debugowania i tworzenia profili (688)
- C.9. Korzystanie z programu Profiler (688)
- C.10. Obsługa produktu (690)
- C.11. Najważniejsze własności (691)
Skorowidz (693)