PHP_i_MySQL_Tworzenie_stron_WWW_Vademecum_profesjonalisty_Wydanie_czwarte_phmsv4.pdf

(680 KB) Pobierz
PHP i MySQL. Tworzenie stron WWW.
Vademecum profesjonalisty
Wydanie czwarte
Autorzy:
Luke Welling, Laura Thomson
T³umaczenie: 978-83-246-0821-8
ISBN: 83-7197-641-0
Tytu³ orygina³u:
PHP and MySQL Web
Development, Fourth Edition
Format: 172×245, stron: 856
Kolejne, uaktualnione wydanie najbardziej znanego, bestsellerowego podrêcznika dla
webmasterów na temat tworzenia dynamicznych witryn internetowych! Ponad 30 000
sprzedanych egzemplarzy poprzednich wydañ!!! Recepta na sukces w przypadku
tworzenia profesjonalnych stron WWW jest niezwykle prosta: wystarcz¹ ogromne
mo¿liwoœci PHP, niezrównana wydajnoœæ MySQL i wielka, chêtna do pomocy spo³ecznoœæ,
skupiona wokó³ tego tandemu. Wynik? B³yskawiczna realizacja zaawansowanych stron
i aplikacji internetowych. Wszystko, czego Ci jeszcze trzeba, to fachowa wiedza,
pozwalaj¹ca wykorzystaæ ten potencja³!
PHP i MySQL to jeden z najlepszych, najpopularniejszych zestawów do tworzenia
rozwi¹zañ internetowych, a ksi¹¿ka, któr¹ trzymasz w rêkach, to czwarte wydanie
bestsellerowego i kultowego ju¿ kompendium wiedzy na temat tych narzêdzi. Dziêki niej
zorientujesz siê w ka¿dym z aspektów wykorzystania PHP wraz z baz¹ danych MySQL.
Poznasz jêzyk PHP, metody przechowywania i wyszukiwania danych oraz operacje na
plikach. Dowiesz siê, jak tworzyæ uniwersalny kod i sprawnie pracowaæ z baz¹ danych.
Nauczysz siê szybko lokalizowaæ i rozwi¹zywaæ problemy oraz zapewniaæ bezpieczeñstwo
aplikacjom, a tak¿e efektywnie stosowaæ technologiê AJAX. Podrêcznik zawiera tak¿e
mnóstwo praktycznych przyk³adów, demonstruj¹cych wykorzystanie PHP i MySQL do
realizacji ró¿nych zadañ zwi¹zanych z funkcjonowaniem dynamicznych witryn WWW.
• Wybrane zalety PHP i MySQL
• Podstawy jêzyka PHP
• Metody przechowywania i wyszukiwania danych
• Operacje na plikach
• Zastosowanie tablic
• Wykorzystanie wyra¿eñ regularnych oraz operacje na ci¹gach znaków
• Tworzenie uniwersalnego kodu -- ponowne jego wykorzystanie
• Obiekty w PHP
• Obs³uga wyj¹tków i b³êdów
• Praca z baz¹ danych MySQL
• Nawi¹zywanie po³¹czenia z baz¹ z poziomu PHP
• Administracja MySQL
• Zaawansowane zagadnienia, zwi¹zane z baz¹ MySQL
• Zapewnienie bezpieczeñstwa tworzonym rozwi¹zaniom
• Metody uwierzytelniania przy u¿yciu PHP i MySQL
• Wykorzystanie protoko³ów i funkcji sieci
• Generowanie grafik
• Wykorzystanie sesji
• Obs³uga poczty elektronicznej za pomoc¹ PHP
• U¿ycie technologii AJAX
Kultowe kompendium wiedzy na temat tworzenia dynamicznych witryn!
Spis tre ci
O autorach ............................................................................................ 23
O wspóãautorach .................................................................................. 25
Wprowadzenie ...................................................................................... 27
Czö è I
Rozdziaä 1.
Stosowanie PHP ..................................................................37
Podstawowy kurs PHP ........................................................................... 39
Zastosowanie PHP ...............................................................................................................40
Tworzenie przykáadowej aplikacji: „Cz ci samochodowe Janka” .....................................40
Formularz zamówienia ..................................................................................................40
Przetwarzanie formularza ..............................................................................................41
Osadzanie PHP w HTML ....................................................................................................42
Zastosowanie znaczników PHP .....................................................................................43
Instrukcje PHP ..............................................................................................................44
Odst py .........................................................................................................................44
Komentarze ...................................................................................................................45
Dodawanie zawarto ci dynamicznej ....................................................................................45
Wywoáywanie funkcji ...................................................................................................46
U ywanie funkcji date() ................................................................................................46
Dost p do zmiennych formularza ........................................................................................47
Zmienne formularza ......................................................................................................47
à czenie ci gów ............................................................................................................49
Zmienne i ci gi znaków ................................................................................................50
Identyfikatory ......................................................................................................................51
Typy zmiennych ..................................................................................................................51
Typy danych w PHP ......................................................................................................51
Siáa typu ........................................................................................................................52
Rzutowanie typu ............................................................................................................52
Zmienne zmiennych ......................................................................................................53
Deklarowanie i u ywanie staáych ........................................................................................53
Zasi g zmiennych ................................................................................................................54
U ywanie operatorów ..........................................................................................................55
Operatory arytmetyczne ................................................................................................55
Operatory ci gów ..........................................................................................................56
Operatory przypisania ...................................................................................................56
Operatory porówna ......................................................................................................58
Operatory logiczne ........................................................................................................59
Operatory bitowe ...........................................................................................................60
Pozostaáe operatory .......................................................................................................60
8
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty
Obliczanie sum w formularzu ..............................................................................................62
Pierwsze stwo i kolejno ü ...................................................................................................63
Zarz dzanie zmiennymi .......................................................................................................65
Sprawdzanie i ustawianie typów zmiennych .................................................................65
Sprawdzanie stanu zmiennej .........................................................................................66
Reinterpretacja zmiennych ............................................................................................67
Podejmowanie decyzji za pomoc instrukcji warunkowych ...............................................67
Instrukcja if ...................................................................................................................67
Bloki kodu .....................................................................................................................68
Instrukcja else ...............................................................................................................68
Instrukcja elseif .............................................................................................................69
Instrukcja switch ...........................................................................................................69
Porównanie ró nych instrukcji warunkowych ...............................................................71
Powtarzanie dziaáa przy u yciu iteracji .............................................................................71
P tle while .....................................................................................................................72
P tle for i foreach ..........................................................................................................73
P tle do..while ...............................................................................................................74
Wyáamywanie si ze struktury skryptu ................................................................................75
U ywanie alternatywnych skáadni struktur steruj cych .......................................................75
U ywanie struktury declare .................................................................................................76
W nast pnym rozdziale .......................................................................................................76
Rozdziaä 2.
Przechowywanie i wyszukiwanie danych .......................................... 77
Zapisywanie danych do pó niejszego u ycia ......................................................................77
Przechowywanie i wyszukiwanie zamówie Janka .............................................................78
Przetwarzanie plików ..........................................................................................................79
Otwieranie pliku ..................................................................................................................79
Tryby otwarcia pliku .....................................................................................................79
Stosowanie funkcji fopen() do otwarcia pliku ...............................................................80
Otwieranie pliku przez protokóá FTP lub HTTP ...........................................................82
Problemy z otwieraniem plików ....................................................................................82
Zapisywanie danych w pliku ...............................................................................................84
Parametry funkcji fwrite() .............................................................................................85
Formaty plików .............................................................................................................85
Zamykanie pliku ..................................................................................................................86
Odczyt z pliku .....................................................................................................................87
Otwieranie pliku w celu odczytu — fopen() .................................................................89
Wiedzieü, kiedy przestaü — feof() ................................................................................89
Odczytywanie pliku wiersz po wierszu — fgets(), fgetss() i fgetcsv() ..........................89
Odczyt caáego pliku — readfile(), fpassthru(), file() .....................................................90
Odczyt pojedynczego znaku — fgetc() .........................................................................91
Odczytywanie zadanej dáugo ci — fread() ....................................................................91
Inne przydatne funkcje plikowe ...........................................................................................91
Sprawdzanie istnienia pliku — file_exists() ..................................................................92
Okre lanie wielko ci pliku — filesize() ........................................................................92
Kasowanie pliku — unlink() .........................................................................................92
Poruszanie si wewn trz pliku — rewind(), fseek() i ftell() ..........................................92
Blokowanie pliku ................................................................................................................93
Lepszy sposób obróbki danych — systemy zarz dzania bazami danych ...........................94
Problemy zwi zane ze stosowaniem plików jednorodnych ...........................................95
Jak RDBMS rozwi zuj powy sze problemy? ..............................................................95
Propozycje dalszych lektur ..................................................................................................96
W nast pnym rozdziale .......................................................................................................96
Spis tre ci
9
Rozdziaä 3.
Stosowanie tablic .................................................................................. 97
Czym s tablice? ..................................................................................................................97
Tablice indeksowane numerycznie ......................................................................................98
Inicjowanie tablic indeksowanych numerycznie ...........................................................98
Dost p do zawarto ci tablicy .........................................................................................99
Dost p do tablic przy zastosowaniu p tli ....................................................................100
Tablice z innymi indeksami ...............................................................................................100
Inicjowanie tablicy ......................................................................................................100
Dost p do elementów tablicy ......................................................................................101
Stosowanie p tli ..........................................................................................................101
Operatory tablicowe ..........................................................................................................103
Tablice wielowymiarowe ..................................................................................................103
Sortowanie tablic ...............................................................................................................106
Stosowanie funkcji sort() ............................................................................................106
Stosowanie funkcji asort() i ksort() do porz dkowania tablic .....................................107
Sortowanie odwrotne ...................................................................................................107
Sortowanie tablic wielowymiarowych ...............................................................................108
Typy sortowa definiowane przez u ytkownika .........................................................108
Odwrotne sortowanie zdefiniowane przez u ytkownika .............................................109
Zmiany kolejno ci elementów w tablicach ........................................................................110
Stosowanie funkcji shuffle() .......................................................................................110
Stosowanie funkcji array_reverse() .............................................................................111
àadowanie tablic z plików .................................................................................................112
Wykonywanie innych dziaáa na tablicach ........................................................................114
Poruszanie si wewn trz tablicy
— funkcje each(), current(), reset(), end(), next(), pos() i prev() .............................114
Doá czanie dowolnej funkcji do ka dego elementu tablicy — funkcja array_walk() ....115
Liczenie elementów tablicy: count(), sizeof() i array_count_values() .........................116
Konwersja tablic na zmienne skalarne — funkcja extract() ........................................117
Propozycje dalszych lektur ................................................................................................118
W nast pnym rozdziale .....................................................................................................118
Rozdziaä 4.
Manipulowanie ci gami i wyra enia regularne .............................. 119
Przykáadowa aplikacja — Inteligentny Formularz Pocztowy ...........................................119
Formatowanie ci gów .......................................................................................................121
Przycinanie ci gów — funkcje chop(), ltrim() i trim() ................................................121
Formatowanie ci gów w celu ich prezentacji ..............................................................122
Formatowanie ci gów do przechowania — funkcje addslashes() i stripslashes() ......125
à czenie i rozdzielanie ci gów za pomoc funkcji ci gów ...............................................127
Stosowanie funkcji explode(), implode() i join() .........................................................127
Stosowanie funkcji strtok() .........................................................................................128
Stosowanie funkcji substr() .........................................................................................128
Porównywanie ci gów .......................................................................................................129
Porz dkowanie ci gów — funkcje strcmp(), strcasecmp() i strnatcmp() ....................129
Sprawdzanie dáugo ci ci gu za pomoc funkcji strlen() ..............................................130
Dopasowywanie i zamiana podci gów za pomoc funkcji ci gów ...................................130
Znajdowanie ci gów w ci gach — funkcje strstr(), strchr(), strrchr() i stristr() ..........131
Odnajdywanie pozycji podci gu — funkcje strpos() i strrpos() ..................................131
Zamiana podci gów — funkcje str_replace() i substr_replace() .................................132
Wprowadzenie do wyra e regularnych ............................................................................133
Podstawy .....................................................................................................................133
Zbiory i klasy znaków .................................................................................................134
Powtarzalno ü .............................................................................................................135
Podwyra enia ..............................................................................................................135
Podwyra enia policzalne .............................................................................................135
10
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty
Kotwiczenie na pocz tku lub na ko cu ci gu ..............................................................136
Rozgaá zianie ..............................................................................................................136
Dopasowywanie specjalnych znaków literowych .......................................................136
Podsumowanie znaków specjalnych ...........................................................................137
Umieszczanie wszystkiego razem (Inteligentny Formularz) .......................................137
Odnajdywanie podci gów za pomoc wyra e regularnych .............................................138
Zamiana podci gów za pomoc wyra e regularnych ......................................................139
Rozdzielanie ci gów za pomoc wyra e regularnych .....................................................139
Propozycje dalszych lektur ................................................................................................140
W nast pnym rozdziale .....................................................................................................140
Rozdziaä 5.
Ponowne wykorzystanie kodu i tworzenie funkcji ........................... 141
Zalety ponownego stosowania kodu ..................................................................................141
Koszt ...........................................................................................................................142
Niezawodno ü .............................................................................................................142
Spójno ü ......................................................................................................................142
Stosowanie funkcji require() i include() ............................................................................142
Rozszerzenia plików i require() ...................................................................................143
Stosowanie require() w szablonach stron WWW ..............................................................144
Stosowanie opcji auto_prepend_file i auto_append_file .............................................148
Stosowanie funkcji w PHP ................................................................................................149
Wywoáywanie funkcji .................................................................................................149
Wywoáanie niezdefiniowanej funkcji ..........................................................................151
Wielko ü liter a nazwy funkcji ....................................................................................152
Definiowanie wáasnych funkcji .........................................................................................152
Podstawowa struktura funkcji ...........................................................................................152
Nadawanie nazwy funkcji ...........................................................................................153
Parametry ..........................................................................................................................154
Zasi g ................................................................................................................................156
Przekazanie przez referencj czy przekazanie przez warto ü? ..........................................158
Stosowanie sáowa kluczowego return ................................................................................159
Zwracanie warto ci przez funkcje .....................................................................................160
Implementacja rekurencji ..................................................................................................161
Przestrzenie nazw ........................................................................................................162
Propozycje dalszych lektur ................................................................................................163
W nast pnym rozdziale .....................................................................................................163
Rozdziaä 6.
Obiektowy PHP .................................................................................... 165
Koncepcje programowania obiektowego ...........................................................................165
Klasy i obiekty ............................................................................................................166
Polimorfizm ................................................................................................................167
Dziedziczenie ..............................................................................................................167
Tworzenie klas, atrybutów i operacji w PHP .....................................................................168
Struktura klasy ............................................................................................................168
Konstruktory ...............................................................................................................168
Destruktory ..................................................................................................................169
Tworzenie egzemplarzy .....................................................................................................169
Stosowanie atrybutów klasy ..............................................................................................170
Kontrolowanie dost pu przy u yciu private i public .........................................................172
Wywoáywanie operacji klas ...............................................................................................172
Implementacja dziedziczenia w PHP .................................................................................173
Kontrolowanie widoczno ci w trakcie dziedziczenia przy u yciu private i protected .174
Uniewa nianie .............................................................................................................175
Zapobieganie dziedziczeniu i uniewa nianiu przy u yciu final ..................................176
Wielodziedziczenie .....................................................................................................177
Implementowanie interfejsów .....................................................................................177
Zgłoś jeśli naruszono regulamin