PHP 5 w praktyce.pdf

(534 KB) Pobierz
PHP 5 w praktyce
Autorzy: Elliott White, Jonathan D. Eisenhamer
T³umaczenie: Piotr Gaczkowski,
Rados³aw Meryk, Piotr Pietrzak
ISBN: 978-83-246-0814-0
Tytu³ orygina³u:
PHP 5 in Practice
Format: B5, stron: 432
Poznaj potêgê jêzyka PHP 5
Chcesz poprawiæ dzia³anie swoich aplikacji internetowych, jednoczeœnie wykorzystuj¹c
pe³niê mo¿liwoœci oferowanych przez PHP 5? A mo¿e w projekcie natkn¹³eœ siê na
problem i szukasz rozwi¹zania? Najnowsza wersja PHP to w pe³ni obiektowy jêzyk
programowania, umo¿liwiaj¹cy tworzenie rozbudowanych i stabilnych aplikacji
internetowych. Dostêpny bezp³atnie PHP 5 jest podstawowym narzêdziem wielu
programistów na ca³ym œwiecie, ceni¹cych jego prost¹ sk³adniê, ogromny zakres
zastosowañ i szybkoœæ dzia³ania.
„PHP 5 w praktyce” to zbiór porad, dziêki którym utworzysz ciekawe, wydajne i szybko
dzia³aj¹ce aplikacje internetowe i witryny WWW. Znajdziesz tu rozwi¹zania najczêœciej
spotykanych zadañ programistycznych oraz wskazówki dotycz¹ce stosowania
poszczególnych elementów jêzyka PHP 5. Przeczytasz o przetwarzaniu tekstów, liczb
i dat, programowaniu obiektowym, po³¹czeniach z bazami danych, tworzeniu elementów
interfejsu u¿ytkownika oraz operacjach na plikach i katalogach. Dowiesz siê tak¿e, jak
korzystaæ z plików XML, przetwarzaæ grafikê i usuwaæ b³êdy z aplikacji PHP.
Dziêki ksi¹¿ce poznasz:
• Przetwarzanie danych tekstowych i liczbowych
• Operacje na tablicach
• Stosowanie funkcji
• Praca z systemem plików
• Tworzenie elementów witryn WWW
• Obs³uga formularzy HTML
• Sesje i pliki cookie
• Wysy³anie poczty elektronicznej
• Komunikacja z bazami danych
• Przetwarzanie plików XML
• Generowanie grafiki
• Szyfrowanie danych
Wydawnictwo Helion
ul. Koœciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
O autorach .................................................................................... 9
Wprowadzenie ............................................................................ 11
I
1
Opis języka PHP ....................................................... 19
Ciągi znaków .............................................................................. 21
1.1. Dopasowywanie wzorców (wyrażenia regularne)
1.2. Usuwanie białych znaków
1.3. Rozwijanie tabulacji do spacji oraz konwersja spacji na tabulacje
1.4. Konwersja tekstu w formacie systemów Mac OS, Unix i Windows
1.5. Przetwarzanie dokumentów w formacie CSV
1.6. Obcinanie tekstu, by zmieścił się w określonej przestrzeni
1.7. Uzupełnianie tablic z danymi w celu wyświetlenia ich w kolumnach
1.8. Sprawdzanie pisowni słowa
1.9. Dopasowywanie podobnych ciągów znaków
1.10. Właściwe stosowanie wielkich liter w nazwach własnych
1.11. Generowanie unikatowych identyfikatorów
1.12. Zliczanie wystąpień określonego słowa w tekście
24
26
27
28
29
31
32
34
36
37
38
39
2
Liczby .......................................................................................... 41
2.1. Odczytywanie liczby na podstawie wartości znakowej
2.2. Wyświetlanie poprawnych form liczby mnogiej
2.3. Konwersja danych liczbowych na liczby rzymskie
2.4. Obliczanie odsetek
2.5. Symulacja rzutów kośćmi
2.6. Obliczenia długości i szerokości geograficznej
2.7. Konwersja jednostek metrycznych na angielskie
2.8. Konwersja temperatury
2.9. Tworzenie pakietu funkcji statystycznych
43
44
45
46
51
52
56
59
60
3
Godziny i daty ............................................................................ 63
3.1. Obliczanie różnicy czasu między dwiema datami
3.2. Wyznaczanie ostatniego dnia podanego miesiąca
3.3. Sprawdzenie, czy rok jest przestępny
3.4. Obsługa stref czasowych
66
68
68
69
4
PHP 5 w praktyce
3.5. Obsługa znaczników czasu w bazach danych lub plikach
3.6. Wyznaczanie liczby dni roboczych
3.7. Generowanie kalendarza dla określonego miesiąca
71
72
74
4
Zmienne ...................................................................................... 77
4.1. Sprawdzanie, czy zmienna jest równa innej zmiennej
4.2. Dostęp do zmiennych spoza funkcji (zmienne globalne)
4.3. Utrzymywanie trwałych wartości w obrębie funkcji (zmienne statyczne)
4.4. Odwołania do zmiennych (referencje)
4.5. Wykorzystywanie zmiennej do zapisania nazwy innej zmiennej
4.6. Deklaracje stałych zamiast zmiennych
4.7. Przeglądanie listy wartości w celu znalezienia pierwszej,
która ma wartość różną od false
78
80
81
82
83
84
85
5
Tablice ........................................................................................ 87
5.1. Tablice superglobalne i ich zastosowanie
5.2. Implementacja stosu
5.3. Implementacja kolejki
5.4. Sortowanie z wykorzystaniem porównań definiowanych przez użytkowników
5.5. Sortowanie z wykorzystaniem różnych algorytmów
5.6. Rekurencyjna obsługa tablic wielowymiarowych
5.7. Wykonywanie operacji na zbiorach z wykorzystaniem tablic
5.8. Operacje na macierzach z wykorzystaniem tablic
92
93
95
97
99
103
104
106
6
Funkcje ..................................................................................... 113
6.1. Ustawianie opcjonalnych parametrów
6.2. Tworzenie funkcji rekurencyjnych
6.3. Wywoływanie funkcji z wykorzystaniem nazwy funkcji zapisanej w zmiennej
6.4. Dynamiczne tworzenie funkcji (styl lambda)
6.5. Wykorzystanie do obliczeń tablicy funkcji
6.6. Przekazywanie argumentów i zwracanie wartości przez referencje
6.7. Używanie zmiennej liczby argumentów
6.8. Wymaganie określonego typu parametru
114
115
117
118
120
121
122
123
7
Klasy i obiekty .......................................................................... 127
7.1. Automatyczne ładowanie plików źródłowych klasy
7.2. Ochrona danych obiektowych (modyfikatory public, private, protected)
7.3. Automatyczne uruchamianie kodu podczas tworzenia lub niszczenia obiektów
7.4. Dostęp do składowych klasy bez tworzenia egzemplarza
7.5. Rozszerzanie definicji klasy
7.6. Tworzenie klas abstrakcyjnych
7.7. Zastosowanie interfejsów obiektów
7.8. Dynamiczne i przeciążone nazwy zmiennych
7.9. Przeciążanie metod
7.10. Implementacja powiązanych list
7.11. Implementacja drzew binarnych
129
132
133
134
135
137
139
140
144
147
149
Spis treści
5
8
Pliki i katalogi .......................................................................... 155
8.1. Wygenerowanie pełnej zawartości katalogu
8.2. Wyświetlanie rozmiaru plików w naturalny sposób
8.3. Zmiana nazwy wszystkich plików w katalogu
8.4. Wyszukiwanie nazw plików w drzewie katalogów
8.5. Względne i bezwzględne ścieżki dostępu do plików
8.6. Czytanie pliku za pośrednictwem protokołów HTTP lub FTP
8.7. Obserwacja zawartości pliku w miarę wzrostu jego objętości
(symulacja uniksowego polecenia tail -f)
8.8. Generowanie raportu z różnic między dwoma plikami
8.9. Blokowanie pliku w celu uzyskania wyłączności
8.10. Lokalne buforowanie zdalnych plików
8.11. Kompresowanie i dekompresowanie plików
8.12. Automatyczne włączanie określonych plików z drzewa nadrzędnego
158
159
162
164
165
167
168
170
174
178
181
183
II
9
Aplikacje PHP ......................................................... 185
Tworzenie stron WWW / XHTML / CSS ................................. 187
9.1. Tworzenie wielowarstwowego, rozwijanego menu
9.2. Wyróżnianie sekcji witryny WWW aktualnie przeglądanej przez użytkownika
9.3. Wyświetlanie dynamicznych pasków postępu
9.4. Symulacja graficznych wykresów z wykorzystaniem XHTML / CSS
9.5. Podział wyników na strony
9.6. Optymalizacja działania serwera
poprzez buforowanie generowanych stron WWW
9.7. Lokalizacja strony WWW dla różnych języków
9.8. Łączne wykorzystanie technologii Ajax i PHP
do tworzenia interaktywnych stron WWW
9.8. Łączne wykorzystanie technologii Ajax
189
194
195
198
200
202
204
207
207
10
Obsługa formularzy internetowych ......................................... 211
10.1. Dostęp do danych formularzy
10.2. Wykorzystanie tablic wielowymiarowych z danymi
wprowadzanymi za pośrednictwem formularzy
10.3. Jednoczesne korzystanie z danych formularzy
przesyłanych metodą GET i POST
10.4. Obsługa przesyłania plików na serwer
10.5. Generowanie listy opcji do wyboru
10.6. Wykorzystanie pól obowiązkowych
10.7. Przetwarzanie tekstu do wyświetlenia na forach (BBCode)
10.8. Pobieranie od użytkownika danych
i wyświetlanie ostrzeżeń dotyczących łączy
10.9. Zapobieganie wielokrotnemu przesyłaniu formularzy
212
213
215
216
218
221
223
224
226
11
Sprawdzanie poprawności danych i ich standaryzacja ........... 229
11.1. Numery telefonów
11.2. Kody pocztowe
11.3. Numery ubezpieczenia społecznego
231
233
234
6
PHP 5 w praktyce
11.4. Liczby
11.5. Numery kart kredytowych
11.6. Daty
11.7. Adresy e-mail
11.8. Adresy URL
235
236
238
239
240
12
Sesje i śledzenie użytkowników ............................................... 243
12.1. Używanie plików cookies do przechowywania danych
12.2. Zapisywanie danych użytkownika za pomocą sesji
12.3. Dostosowywanie wyglądu strony
12.4. Tworzenie bibliotek przechowujących dane
o działaniach podjętych w serwisie przez użytkownika
12.5. Tworzenie prostego koszyka na zakupy
12.6. Przekazywanie danych z sesji między serwerami
12.7. Analizowanie danych o przeglądarkach na podstawie pliku dziennika
244
247
250
253
255
258
260
13
Usługi sieciowe i inne protokoły .............................................. 265
13.1. Przesyłanie żądań HTTP metodą POST
z wykorzystaniem rozszerzenia cURL
13.2. Komunikacja z serwerami LDAP
13.3. Wykorzystanie usług sieciowych za pomocą protokołu SOAP
13.4. Nawiązywanie połączenia z serwerem FTP
13.5. Wykorzystanie PHP do utworzenia klienta FTP
13.6. Wykorzystanie gniazd do nawiązywania połączeń
z serwerami internetowymi
13.7. Utworzenie prostego serwera WWW
267
268
269
272
273
278
279
14
Relacyjne bazy danych ............................................................. 283
14.1. Komunikacja z bazą danych MySQL
14.2. Komunikacja z bazą danych Oracle
14.3. Komunikacja z bazą danych PostgreSQL
14.4. Komunikacja z bazą danych Sybase
14.5. Komunikacja z bazą danych Microsoft SQL Server
14.6. Komunikacja z bazą danych SQLite
14.7. Komunikacja z bazami danych za pośrednictwem ODBC
14.8. Wykorzystanie warstwy abstrakcji do komunikacji z bazami danych (PDO)
14.9. Implementacja blogu z wykorzystaniem bazy danych SQLite
284
286
287
289
290
292
293
294
296
15
Inne metody przechowywania danych .................................... 301
15.1. Tworzenie i odczyt plików CSV
15.2. Zapisywanie danych w plikach tekstowych
15.3. Dostęp do baz danych DBM i ich aktualizacja
15.4. Zapisywanie danych za pośrednictwem operacji serializacji i deserializacji
15.5. Automatyczne tworzenie i aktualizacja włączanych plików PHP
302
303
305
307
308
16
Poczta elektroniczna ................................................................ 311
16.1. Wysyłanie wiadomości e-mail (tekst, HTML, format podwójny,
wstawiane ilustracje, załączniki)
16.2. Sprawdzanie, czy istnieje konto pocztowe
16.3. Utworzenie automatu do masowego wysyłania wiadomości e-mail
312
321
323
Zgłoś jeśli naruszono regulamin