PHP4. Podręcznik programisty - Helion
Tytuł oryginału: PHP Developers Cookbook
Tłumaczenie: Daniel Kaczmarek
ISBN: 83-7197-795-6
stron: 448, Format: B5, okładka: miękka
Data wydania: 2002-10-22
Księgarnia: Helion
Cena książki: 49,00 zł
Od teorii do praktyki prowadzi długa droga. Nie inaczej jest w przypadku PHP4, popularnego języka służącego do tworzenia aplikacji WWW. Oficjalna dokumentacja stanowi jedynie wstęp -- w praktyce programista często staje wobec problemów, których rozwiązań nie zawiera sam opis języka.
Książka ta stanowi kombinację podręcznika i instrukcji. Przedstawia treści, które nie znalazły się w dokumentacji, a w wielu przypadkach znacznie tę dokumentację rozszerza. Pomimo tego, że nie jest to kompletna instrukcja, staniesz się po jej lekturze dużo lepszym programistą -- będziesz miał solidne podstawy do rozwiązywania problemów programistycznych.
Opisano w niej:
- Operacje na łańcuchach znaków
- Pracę z liczbami, datami i czasem
- Użycie tablic w PHP
- Wbudowane tablice i stałe PHP
- Wyrażenia regularne
- Pracę z plikami i katalogami
- Tworzenie własnych funkcji
- Klasy i obiekty w PHP
- Sesje
- Pisanie aplikacji niezależnych od baz danych
- Łączenie kodu PHP z programami napisanymi w innych językach
- Obsługę poczty elektronicznej
- Użycie protokołów SNMP i LDAP
- Tworzenie grafiki w PHP
- Pracę z dokumentami XML
Osoby które kupowały "PHP4. Podręcznik programisty", 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
PHP4. Podręcznik programisty -- spis treści
O Autorach (13)
Przedmowa (15)
Wprowadzenie (19)
Część I Konstrukcje i techniki językowe (25)
Rozdział 1. Operacje na łańcuchach znaków (27)
- 1.0. Wprowadzenie (27)
- 1.1. Rozkładanie łańcuchów znaków (27)
- 1.2. Stosowanie operatora trójargumentowego (31)
- 1.3. Wymiana wartości zmiennych (32)
- 1.4. Konwersja kodów ASCII w znaki (33)
- 1.5. Dzielenie łańcucha na pojedyncze znaki (34)
- 1.6. Odwracanie kolejności we fragmentach łańcuchów (36)
- 1.7. Zmiana wielkości liter w łańcuchu (37)
- 1.8. Usuwanie pustych przestrzeni z łańcucha znaków (38)
- 1.9. Ucieczka od znaków specjalnych w łańcuchach (39)
- 1.10. Czytanie z pliku z tekstem dzielonym przecinkami (40)
- 1.11. Parsowanie adresu URL (42)
- 1.12. Dopasowywanie przybliżone (42)
- 1.13. Tworzenie unikalnego identyfikatora (43)
- 1.14. Szyfrowanie łańcucha znaków (44)
- 1.15. Konwersja między zestawami znaków cyrylicy (46)
Rozdział 2. Praca z liczbami, datami i czasem (49)
- 2.0. Wprowadzenie (49)
- 2.1. Sprawdzanie, czy zmienna jest poprawną liczbą (50)
- 2.2. Praca z ciągami liczbowymi (51)
- 2.3. Praca z liczbami nie będącymi liczbami całkowitymi ani zmiennoprzecinkowymi (52)
- 2.4. Zaokrąglanie liczb o stałej precyzji (54)
- 2.5. Przekształcanie liczb o różnych bazach (55)
- 2.6. Obliczanie logarytmu liczby (56)
- 2.7. Znajdowanie binarnej reprezentacji liczby (57)
- 2.8. Konwersja między liczbami arabskimi i rzymskimi (58)
- 2.9. Weryfikacja poprawności numerów kart kredytowych (58)
- 2.10. Formatowanie liczb (60)
- 2.11. Konwersja między radianami i stopniami (61)
- 2.12. Obliczanie cosinusów, sinusów i tangensów (62)
- 2.13. Generowanie liczb losowych (63)
- 2.14. Generowanie unikalnych liczb losowych (64)
- 2.15. Ważenie liczb losowych (67)
- 2.16. Ładowanie dzisiejszej daty do tablicy (68)
- 2.17. Weryfikacja poprawności daty (69)
- 2.18. Obliczanie odstępów czasowych (70)
- 2.19. Znajdowanie daty i godziny w innych regionach (71)
- 2.20. Formatowanie znaczników czasu (72)
- 2.21. Odczytywanie daty i godziny z łańcuchów znaków (75)
- 2.22. Przeprowadzanie testów wydajności (77)
- 2.23. Zatrzymywanie wykonania programu (81)
Rozdział 3. Stosowanie tablic (83)
- 3.0. Wprowadzenie (83)
- 3.1. Deklarowanie tablicy (84)
- 3.2. Wypisywanie zawartości tablicy (85)
- 3.3. Usuwanie powtarzających się elementów (86)
- 3.4. Powiększanie lub pomniejszanie tablicy (87)
- 3.5. Łączenie tablic (88)
- 3.6. Iteracyjne przetwarzanie elementów tablicy (89)
- 3.7. Uzyskiwanie dostępu do bieżącego elementu tablicy (92)
- 3.8. Uzyskiwanie dostępu do różnych obszarów tablicy (93)
- 3.9. Przeszukiwanie tablicy (94)
- 3.10. Odnajdywanie elementów różniących dwie tablice (95)
- 3.11. Losowe ustawianie elementów w tablicy (96)
- 3.12. Wyznaczanie iloczynu, różnicy i punktu przecięcia dwóch tablic (97)
- 3.13. Sortowanie tablicy (98)
- 3.14. Sortowanie naturalne (100)
- 3.15. Odwracanie kolejności (100)
- 3.16. Funkcje tablicowe analogiczne do języka Perl (101)
Rozdział 4. Wbudowane tablice i stałe PHP (103)
- 4.0. Wprowadzenie (103)
- 4.1. Wykorzystanie stałych plikowych (104)
- 4.2. Stałe wersji PHP i systemu operacyjnego (105)
- 4.3. Ustawianie punktów kontrolnych za pomocą stałych błędów PHP (106)
- 4.4. Definiowanie własnych stałych PHP (107)
- 4.5. Wykorzystanie zmiennych globalnych PHP (108)
- 4.6. Uzyskiwanie dostępu do danych za pośrednictwem wbudowanych tablic PHP (110)
Rozdział 5. Dopasowywanie danych do wyrażeń regularnych (113)
- 5.0. Wprowadzenie (113)
- 5.1. Przypisywanie wyników zastąpienia wzorca (120)
- 5.2. Stosowanie w PHP wyrażeń regularnych zgodnych z Perlem (121)
- 5.3. Niezgodności między biblioteką PCRE a wyrażeniami regularnymi Perla (123)
- 5.4. Dopasowywanie wielu wierszy (125)
- 5.5. Znajdowanie wystąpienia dopasowania o określonym numerze (126)
- 5.6. Praca z separowanymi rekordami (128)
- 5.7. Wyodrębnianie określonych wierszy (129)
- 5.8. Sprawdzanie znaków (130)
- 5.9. Weryfikacja poprawności danych WWW (132)
- 5.10. Weryfikacja poprawności adresu poczty elektronicznej (133)
- 5.11. Sprawdzanie składni wyrażenia regularnego (133)
- 5.12. Sprawdzanie powtórzeń słów (134)
- 5.13. Skracanie danych wejściowych (135)
Rozdział 6. Obsługa plików (137)
- 6.0. Wprowadzenie (137)
- 6.1. Sprawdzanie, czy dany plik istnieje (139)
- 6.2. Sprawdzanie praw do pliku (140)
- 6.3. Tworzenie pliku tymczasowego (141)
- 6.4. Przechowywanie pliku wewnątrz programu (142)
- 6.5. Otwieranie pliku (143)
- 6.6. Bezpieczna obsługa danych binarnych (144)
- 6.7. Opróżnianie bufora (145)
- 6.8. Blokowanie plików (146)
- 6.9. Sprawdzanie ilości wolnego miejsca na wskazanym napędzie (148)
- 6.10. Wyświetlanie zawartości pliku tekstowego użytkownikowi (149)
- 6.11. Operacje na standardowych strumieniach wejścia-wyjścia (150)
- 6.12. Czytanie z pliku wiersz po wierszu (151)
- 6.13. Przetwarzanie pliku słowo po słowie (152)
- 6.14. Przetwarzanie pliku w odwrotnej kolejności (153)
- 6.15. Parsowanie pliku na podstawie wzorcowych separatorów (154)
- 6.16. Zmiana wartości określonego rekordu (155)
- 6.17. Uzyskiwanie dostępu do rekordów o stałej długości (156)
- 6.18. Odczytywanie z pliku pojedynczego wiersza (157)
- 6.19. Przycinanie pliku (158)
- 6.20. Zliczanie wierszy w pliku (159)
- 6.21. Odczytywanie z pliku losowo wybranego wiersza (160)
- 6.22. Ustawianie wierszy i słów w porządku losowym (161)
- 6.23. Tworzenie plików konfiguracyjnych (163)
Rozdział 7. Praca z plikami w katalogach (165)
- 7.0. Wprowadzenie (165)
- 7.1. Praca ze znacznikami czasu (166)
- 7.2. Usuwanie pliku (166)
- 7.3. Kopiowanie lub przenoszenie pliku (167)
- 7.4. Śledzenie nazw plików (168)
- 7.5. Parsowanie części nazwy pliku (169)
- 7.6. Ładowanie wszystkich plików w katalogu do tablicy (170)
- 7.7. Przeszukiwanie systemu plików (170)
- 7.8. Przetwarzanie katalogów plik po pliku (172)
- 7.9. Rekurencyjne usuwanie katalogu (172)
- 7.10. Tworzenie wyszukiwarki (174)
Rozdział 8. Funkcje (181)
- 8.0. Wprowadzenie (181)
- 8.1. Przekazywanie do funkcji wartości domyślnej (182)
- 8.2. Dostęp do zmiennych spoza funkcji (183)
- 8.3. Zwracanie wartości przez funkcję (184)
- 8.4. Przekazywanie argumentów przez odwołanie (185)
- 8.5. Zachowywanie wartości zmiennej między kolejnymi wywołaniami funkcji (187)
- 8.6. Zwracanie przez funkcję więcej niż jednej wartości (187)
- 8.7. Dynamiczne deklarowanie funkcji (188)
- 8.8. Dynamiczne tworzenie funkcji anonimowych (189)
- 8.9. Pośrednie wywoływanie funkcji (190)
- 8.10. Pobieranie arbitralnie określonej liczby parametrów (190)
Rozdział 9. Klasy (193)
- 9.0. Wprowadzenie (193)
- 9.1. Tworzenie klasy (194)
- 9.2. Uzyskiwanie dostępu do zmiennych z wnętrza klasy (195)
- 9.3. Dziedziczenie (196)
- 9.4. Tworzenie zmiennych lub funkcji publicznych lub prywatnych (198)
- 9.5. Tworzenie konstruktora (199)
- 9.6. Zwracanie innego obiektu przez konstruktor (200)
- 9.7. Tworzenie destruktora klasy (201)
- 9.8. Używanie funkcji klasy bez inicjowania obiektu (202)
- 9.9. Pośredni dostęp do metod klasy rodzica (202)
- 9.10. Zwracanie obiektu błędu w razie niepowodzenia (204)
Rozdział 10. Utrzymywanie sesji w PHP (207)
- 10.0. Wprowadzenie (207)
- 10.1. Tworzenie zmiennej sesji w PHP (208)
- 10.2. Zapisywanie sesji przy użyciu bazy danych (210)
- 10.3. Ustawianie nazwy sesji (213)
- 10.4. Ustawianie i pobieranie parametrów cookie (214)
- 10.5. Wyrejestrowywanie zmiennej z sesji (215)
- 10.6. Usuwanie wszystkich zmiennych sesji (215)
- 10.7. Stosowanie obiektu jako zmiennej sesji (216)
- 10.8. Kodowanie danych (218)
- 10.9. Tworzenie koszyka na zakupy z zastosowaniem sesji w PHP (218)
- 10.10. Serializacja (224)
- 10.11. Serializacja WDDX (225)
- 10.12. Deserializacja WDDX (226)
Rozdział 11. Interakcja z witrynami i serwerami WWW (227)
- 11.0. Wprowadzenie (227)
- 11.1. Pobieranie strony WWW (227)
- 11.2. Przeprowadzanie transakcji SSL (228)
- 11.3. Przeprowadzanie wywołania HTTP POST (230)
- 11.4. Załadowywanie pliku w protokole HTTP (231)
- 11.5. Wysyłanie cookies w ramach wywołania (233)
- 11.6. Dołączanie lub pomijanie nagłówków z transmisji cURL (234)
- 11.7. Łączenie się za pośrednictwem serwera proxy (235)
- 11.8. Pobieranie informacji dotyczących transmisji cURL (236)
- 11.9. Interakcja z ramkami (237)
- 11.10. Uzyskiwanie wszystkich URL ze strony WWW (238)
- 11.11. Wyszukiwanie łączy pustych i prawidłowych (239)
- 11.12. Uzyskiwanie nowych łączy ze strony WWW (240)
- 11.13. Tworzenie lustrzanej kopii strony WWW (242)
- 11.14. Parsowanie i formatowanie pliku dziennika zdarzeń (242)
Część II Bazy danych (245)
Rozdział 12. Tworzenie API niezależnego od baz danych w PHP (247)
- 12.0. Wprowadzenie (247)
- 12.1. Łącznik (249)
- 12.2. Moduł MySQL (251)
- 12.3. Moduł mSQL (254)
- 12.4. Moduł Oracle (256)
- 12.5. Moduł MSSQL (258)
- 12.6. Moduł ODBC (260)
- 12.7. Moduł PostgreSQL (261)
- 12.8. Moduł InterBase (263)
- 12.9. Moduł Sybase (265)
Część III Wychodzenie na zewnątrz PHP (267)
Rozdział 13. Łączenie z innymi programami i językami (269)
- 13.0. Wprowadzenie (269)
- 13.1. Przechwytywanie danych wynikowych innego programu (270)
- 13.2. Wyświetlanie danych wynikowych programu (271)
- 13.3. Otwieranie potoku do innego programu (271)
- 13.4. Praca z gniazdami (272)
- 13.5. Praca z obiektami COM (273)
- 13.6. Uzyskiwanie dostępu do predefiniowanych metod i klas języka Java (275)
- 13.7. Uzyskiwanie dostępu do własnych klas i metod języka Java (276)
Rozdział 14. Komunikacja z gniazdami (281)
- 14.0. Wprowadzenie (281)
- 14.1. Klient TCP (281)
- 14.2. Serwer TCP (283)
- 14.3. Czytanie z gniazd i zapisywanie do nich (284)
- 14.4. Klient UDP (285)
- 14.5. Serwer UDP (287)
- 14.6. Domeny gniazd Uniksa (288)
- 14.7. Obsługa wielu adresów IP (290)
- 14.8. Gniazda nieblokujące się (290)
- 14.9. Odczytywanie i zapisywanie wektorów wejścia-wyjścia (291)
- 14.10. Sterowanie czasem transmisji danych (292)
- 14.11. Sprawdzanie statusu gniazda (293)
Rozdział 15. Obsługa wiadomości poczty elektronicznej (295)
- 15.0. Wprowadzenie (295)
- 15.1. Otwieranie skrzynki pocztowej IMAP (296)
- 15.2. Sprawdzanie, czy strumień IMAP jest nadal aktywny (297)
- 15.3. Przekształcanie wiadomości do czytelnej postaci (298)
- 15.4. Wysyłanie wiadomości poczty elektronicznej (298)
- 15.5. Wysyłanie załączników przy użyciu PHP (299)
- 15.6. Wysyłanie załączników binarnych (300)
- 15.7. Wysyłanie wiadomości w formacie HTML (303)
- 15.8. Sprawdzanie rozmiaru wiadomości (305)
- 15.9. Parsowanie nagłówków wiadomości (305)
Rozdział 16. Praca z obiektami SNMP (307)
- 16.0. Wprowadzenie (307)
- 16.1. Ustawianie obiektu SNMP (308)
- 16.2. Pobieranie obiektu SNMP (308)
- 16.3. Pobieranie wszystkich obiektów SNMP do tablicy (309)
Rozdział 17. LDAP (311)
- 17.0. Wprowadzenie (311)
- 17.1. Dodawanie pozycji do serwera LDAP (311)
- 17.2. Usuwanie pozycji z serwera LDAP (312)
- 17.3. Wykonywanie zapytania i pobieranie wyników (313)
- 17.4. Zwalnianie zbioru wyników LDAP (314)
- 17.5. Przeszukiwanie drzewa (315)
- 17.6. Sortowanie wyników przeszukiwania (317)
Część IV Generowanie innych języków (319)
Rozdział 18. Tworzenie obrazków i zarządzanie nimi (321)
- 18.1. Tworzenie obrazka z GD (322)
- 18.2. Otwieranie obrazka już istniejącego (323)
- 18.3. Sprawdzanie rozmiaru obrazka (324)
- 18.4. Dodawanie tekstu do obrazków (325)
- 18.5. Sprawdzanie koloru określonej części obrazka (329)
- 18.6. Sprawdzanie całkowitej liczby kolorów w obrazku (330)
- 18.7. Tworzenie przezroczystych obrazków GIF/PNG (331)
- 18.8. Kopiowanie części jednego obrazka do drugiego (332)
- 18.9. Rysowanie prostokątów (333)
- 18.10. Rysowanie wielokątów (334)
- 18.11. Rysowanie łuku (335)
- 18.12. Tworzenie obrazka z przeplotem (337)
- 18.13. Przyciski dynamiczne (337)
- 18.14. Stosowanie czcionek TrueType (340)
Rozdział 19. HTML (341)
- 19.0. Wprowadzenie (341)
- 19.1. Usuwanie znaczników HTML (341)
- 19.2. Konwersja ASCII do HTML (342)
- 19.3. Generowanie list <select> (343)
- 19.4. Generowanie skryptu JavaScript realizującego efekty rollover (345)
- 19.5. Tworzenie szablonów HTML (346)
Rozdział 20. XML (349)
- 20.0. Wprowadzenie (349)
- 20.1. Obsługa błędów (351)
- 20.2. Parsowanie prostych dokumentów XML (352)
- 20.3. Parsowanie dokumentu XML do tablicy (354)
- 20.4. Odwzorowywanie znaczników XML (356)
- 20.5. Ustawianie uchwytu zewnętrznego odwołania do jednostki (357)
- 20.6. Przeszukiwanie XML (361)
- 20.7. Oszczędzanie pamięci (363)
- 20.8. Ustawianie i sprawdzanie opcji (363)
- 20.9. Parsowanie z zastosowaniem funkcji DOM-XML (364)
- 20.10. Tworzenie dokumentu XML (367)
- 20.11. Przekształcanie XML za pomocą XSL (369)
- 20.12. Filtrowanie danych wyjściowych za pomocą pliku XSL (370)
Część V API Zend (371)
Rozdział 21. API Zend (373)
- 21.0. Wprowadzenie (373)
- 21.1. Pobieranie argumentów (374)
- 21.2. Modyfikowanie argumentów funkcji (376)
- 21.3. Zwracanie łańcuchów znaków lub liczb przez funkcję (378)
- 21.4. Zwracanie tablic i obiektów przez funkcję (379)
- 21.5. Dodawanie funkcji do PHP (381)
- 21.6. Tworzenie identyfikatorów zasobów (382)
- 21.7. Pobieranie identyfikatorów zasobów (383)
- 21.8. Przechodzenie w pętli przez tablice (384)
- 21.9. Tworzenie modułu PHP (386)
- 21.10. Dodawanie własnego pliku do instalacji PHP (400)
Dodatki (403)
Dodatek A Instalacja PHP (405)
Dodatek B Identyfikowanie i usuwanie usterek w PHP (411)
- Najczęstsze błędy i co one oznaczają (411)
- Techniki unikania błędów i usterek (413)
Dodatek C Zasoby online PHP (415)
- Oficjalna witryna PHP (415)
- Witryna Zend (415)
- PHPBuilder (416)
- PHPWizard.net (416)
- Repozytorium klas PHP (416)
- Weberdev (416)
- DevShed (417)
Dodatek D Migracja do PHP4 (419)
- Inicjujące zmienne statyczne i argumenty domyślne akceptują tylko wartości skalarne (419)
- Instrukcje break i continue mają zasięg lokalny względem plików dołączanych lub łańcuchów znaków przetwarzanych funkcją eval (420)
- Instrukcja return z pliku dołączanego instrukcją require nie działa (420)
- Unset jest teraz instrukcją, a nie funkcją (421)
- "{$" nie jest obsługiwane w łańcuchach znaków (421)
Skorowidz (423)