PHP 5 Nowe mozliwosci.pdf

(419 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
PHP 5.
Nowe mo¿liwo ci
Autor: Adam Trachtenberg
T³umaczenie: Daniel Kaczmarek
ISBN: 83-7361-714-0
Tytu³ orygina³u:
Upgrading to PHP 5
Format: B5, stron: 320
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Przewodnik po najnowszej wersji najpopularniejszego jêzyka
do tworzenia dynamicznych witryn WWW
Ksi¹¿ka „PHP 5. Nowe mo¿liwo ci” to opis wszystkich funkcji, które dodano
do najnowszej wersji jêzyka PHP. Jest adresowana do programistów korzystaj¹cych
z PHP 4, którzy chc¹ poznaæ nowe narzêdzia wprowadzone w wersji 5. Ka¿dy nowy
mechanizm jest przedstawiony w postaci przyk³adu. Ksi¹¿ka zawiera tak¿e porównanie
sposobów realizacji typowych zadañ programistycznych za pomoc¹ jêzyków PHP 4
i PHP 5, co u³atwia migracjê do nowej wersji.
• Zasady programowania obiektowego
• Wspó³praca z baz¹ danych MySQL
• rodowisko SQLite
• Mechanizmy obs³ugi jêzyka XML
• Obs³uga b³êdów za pomoc¹ wyj¹tków
• Korzystanie z mechanizmów SOAP
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
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
Spis treści
Przedmowa .................................................................................................................... 9
1. Wprowadzenie..............................................................................................................15
Dlaczego PHP 5?
Co nowego w PHP 5?
Instalowanie i konfigurowanie PHP 5
16
17
20
2. Programowanie zorientowane obiektowo ................................................................ 23
Na czym polega programowanie zorientowane obiektowo?
Zarządzanie pamięcią
Klasy
Mechanizmy pośrednie wobec klas
Dziedziczenie
Metody magiczne
24
30
33
38
42
49
3. MySQL........................................................................................................................... 59
Instalacja i konfiguracja
Interfejs proceduralny
Przedtem i teraz: łączenie się z serwerem baz danych
Interfejs zorientowany obiektowo
Przedtem i teraz: wykonywanie zapytań i pozyskiwanie danych przy użyciu
instrukcji przygotowywanych
Przedtem i teraz: podzapytania
Transakcje
Przedtem i teraz: wykonywanie zapytań wielokrotnych
Zabezpieczanie połączeń przy użyciu protokołu SSL
Przenoszenie kodu i migrowanie baz danych
61
62
63
66
67
75
81
84
88
91
4. SQLite........................................................................................................................... 101
Podstawy SQLite
Zmieniające się typy wyników SQLite
Interfejs zorientowany obiektowo
Indeksy, obsługa błędów i tabele przechowywane w pamięci
Transakcje
Funkcje zdefiniowane przez użytkownika
102
105
106
108
112
114
5
5. XML.............................................................................................................................. 121
Rozszerzenia XML w PHP 5
Instalacja mechanizmów obsługi XML i XSLT
DOM
SimpleXML
Przekształcenia między obiektami SimpleXML i DOM
Przedtem i teraz: wczytywanie dokumentów XML do drzewa
Przedtem i teraz: przeszukiwanie dokumentów XML przy użyciu XPath
Wczytywanie kodu XML jako zdarzeń przy użyciu SAX
Przedtem i teraz: tworzenie nowych dokumentów XML
Przedtem i teraz: przekształcanie dokumentów XML przy użyciu XSLT
Weryfikacja zgodności ze schematem
121
124
125
132
133
134
139
146
146
150
155
6. Iteratory i standardowa biblioteka PHP SPL..............................................................157
Przedtem i teraz: używanie iteratorów
Implementacja interfejsu iteratora
Iterator wyników zapytań do bazy MySQL
Łańcuchowe łączenie iteratorów
Iterator SimpleXML
Przedtem i teraz: rekurencyjna iteracja po katalogu
Implementacja interfejsu RecursiveIterator
Iterowanie przez tablice i właściwości obiektów
Zmiana przebiegu iteracji przez klasy
Iteratory oraz klasy i interfejsy biblioteki SPL
159
162
164
167
169
170
173
175
177
180
7. Obsługa błędów i debugowanie ............................................................................... 183
Przedtem i teraz: obsługa błędów
Korzyści z używania wyjątków
Wyjątki systemowe
Klasa Exception
Wyjątki generowane przez użytkownika
Definiowanie własnego uchwytu wyjątków
Przetwarzanie błędów we własnym uchwycie błędów
Funkcje debugujące
183
186
187
188
189
194
195
196
8. Strumienie, nakładki i filtry ....................................................................................... 201
Używanie API strumieni
Ogólne informacje o nakładkach
Szczegółowe informacje na temat nakładek
Tworzenie nakładek
Filtrowanie strumieni
Tworzenie filtrów
6
|
Spis treści
202
204
206
214
223
227
9. Inne rozszerzenia........................................................................................................231
SOAP
Tidy
Klasy Reflection
231
239
243
10. PHP w akcji ..................................................................................................................251
Definicja schematu bazy danych
Klasa Person
Klasa addressBook
Klasa Template
Złożenie aplikacji w całość
Nakładki i kierunki dalszego rozwoju
252
253
257
262
266
270
A Wprowadzenie do języka XML.................................................................................. 273
B Pozostałe nowe mechanizmy oraz pomniejsze zmiany...........................................283
C Instalowanie PHP 5 obok PHP 4..................................................................................291
Skorowidz................................................................................................................... 299
Spis treści
|
7
ROZDZIAŁ 2.
Programowanie
zorientowane obiektowo
Niniejszy rozdział zawiera podstawowe informacje na temat programowania zorientowane-
go obiektowo (ang.
object-oriented programming
— OOP) oraz przedstawia wszystkie mecha-
nizmy zorientowane obiektowo (ang.
object-oriented
— OO) dostępne w PHP 5. Nie zakłada-
no w nim żadnej znajomości technik OOP, dlatego nic nie stoi na przeszkodzie, by przeczytał
go początkujący programista.
Rozdział ten zawiera jednak również wiele cennych informacji dla programistów PHP 4. Oprócz
udostępnienia wielu mechanizmów OO, w PHP 5 zmieniono również podstawowe mechani-
zmy OO dostępne dotychczas w PHP 4. Jeśli w programach napisanych w PHP 4 nie zostaną
dokonane odpowiednie uaktualnienia, ich uruchomienie w PHP 5 może skutkować otrzyma-
niem nieoczekiwanych wyników i błędów.
Nowe mechanizmy zawarte w PHP 5 pozwalają ponadto implementować najlepsze rozwiąza-
nia OOP, które w PHP 4 były po prostu niedostępne. W rozdziale tym zostanie pokazane, jak
i dlaczego powinno się zmodyfikować istniejący kod, by wykorzystać wszystkie zalety PHP 5.
Pierwsze wersje języka PHP były wersjami wybitnie proceduralnymi: można było definiować
funkcje, ale nie obiekty. W PHP 3 wprowadzono obiekty w postaci szczątkowej, napisane tak
naprawdę jako ekstra-dodatek. W 1997 roku nikt nie spodziewał się takiego przyrostu liczby
programistów PHP, nikt też nie planował pisania w tym języku rozbudowanych programów.
Z tego względu istniejące ograniczenia nie stanowiły wówczas wielkiego problemu.
Przez kolejne lata PHP wzbogacał się o kolejne mechanizmy obiektowe. Zespół programistycz-
ny nigdy jednak nie pokusił się o przepisanie kodu jądra PHP sterującego mechanizmami
obiektowymi, by odpowiednio obsługiwać obiekty i klasy. W efekcie pomimo tego, że PHP 4
odznaczał się znacznie lepszą ogólną wydajnością, pisanie w nim złożonych programów OO
wciąż było trudne, a niekiedy nawet niemożliwe.
W PHP 5 problemy takie odeszły w zapomnienie dzięki modułowi Zend Engine 2. Jego pierw-
sza wersja została napisana dla PHP 4 i obsługiwała funkcjonalności jądra języka, takie jak
wyznaczanie dozwolonych typów obiektów, a także definiowała składnię PHP.
Zend Engine 2, stanowiący jądro PHP 5, umożliwia wykorzystanie bardziej zaawansowanych
mechanizmów zorientowanych obiektowo, zachowując jednocześnie daleko idącą wsteczną
zgodność z dotychczas napisanymi milionami skryptów PHP.
23
Zgłoś jeśli naruszono regulamin