PHP_5_Nowe_mozliwosci_php5mi.pdf

(435 KB) Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
PRZYK£ADOW Y ROZDZIA£
PHP 5.
SPIS TRECI
Nowe mo¿liwoci
KATALOG KSI¥¯EK
Autor: Adam Trachtenberg
T³umaczenie: Daniel Kaczmarek
ISBN: 83-7361-714-0
Tytu³ orygina³ u: Upgrading to PHP 5
Format: B5, stron: 320
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Przewodnik po najnowszej wersji najpopularniejszego jêzyka
do tworzenia dynamicznych witryn WWW
Ksi¹¿ka „PHP 5. Nowe mo¿liwoci” 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 NOWOCIACH
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
676258649.003.png 676258649.004.png 676258649.005.png 676258649.006.png
Spis treci
Przedmowa ....................................................................................................................9
1. Wprowadzenie..............................................................................................................15
Dlaczego PHP 5?
16
Co nowego w PHP 5?
17
Instalowanie i konfigurowanie PHP 5
20
2. Programowanie zorientowane obiektowo ................................................................23
Na czym polega programowanie zorientowane obiektowo?
24
Zarz%dzanie pami'ci%
30
Klasy
33
Mechanizmy po,rednie wobec klas
38
Dziedziczenie
42
Metody magiczne
49
3. MySQL...........................................................................................................................59
Instalacja i konfiguracja
61
Interfejs proceduralny
62
Przedtem i teraz: ł%czenie si' z serwerem baz danych
63
Interfejs zorientowany obiektowo
66
Przedtem i teraz: wykonywanie zapyta2 i pozyskiwanie danych przy u3yciu
instrukcji przygotowywanych
67
Przedtem i teraz: podzapytania
75
Transakcje
81
Przedtem i teraz: wykonywanie zapyta2 wielokrotnych
84
Zabezpieczanie poł%cze2 przy u3yciu protokołu SSL
88
Przenoszenie kodu i migrowanie baz danych
91
4. SQLite...........................................................................................................................101
Podstawy SQLite
102
Zmieniaj%ce si' typy wyników SQLite
105
Interfejs zorientowany obiektowo
106
Indeksy, obsługa bł'dów i tabele przechowywane w pami'ci
108
Transakcje
112
Funkcje zdefiniowane przez u3ytkownika
114
5
676258649.001.png
5. XML..............................................................................................................................121
Rozszerzenia XML w PHP 5 121
Instalacja mechanizmów obsługi XML i XSLT 124
DOM 125
SimpleXML 132
Przekształcenia mi'dzy obiektami SimpleXML i DOM 133
Przedtem i teraz: wczytywanie dokumentów XML do drzewa 134
Przedtem i teraz: przeszukiwanie dokumentów XML przy u3yciu XPath 139
Wczytywanie kodu XML jako zdarze2 przy u3yciu SAX
146
Przedtem i teraz: tworzenie nowych dokumentów XML
146
Przedtem i teraz: przekształcanie dokumentów XML przy u3yciu XSLT
150
Weryfikacja zgodno,ci ze schematem
155
6. Iteratory i standardowa biblioteka PHP SPL..............................................................157
Przedtem i teraz: u3ywanie iteratorów
159
Implementacja interfejsu iteratora
162
Iterator wyników zapyta2 do bazy MySQL
164
Ła2cuchowe ł%czenie iteratorów
167
Iterator SimpleXML
169
Przedtem i teraz: rekurencyjna iteracja po katalogu
170
Implementacja interfejsu RecursiveIterator
173
Iterowanie przez tablice i wła,ciwo,ci obiektów
175
Zmiana przebiegu iteracji przez klasy
177
Iteratory oraz klasy i interfejsy biblioteki SPL
180
7. Obsługa bł*dów i debugowanie............................................................................... 183
Przedtem i teraz: obsługa bł'dów
183
Korzy,ci z u3ywania wyj%tków
186
Wyj%tki systemowe
187
Klasa Exception
188
Wyj%tki generowane przez u3ytkownika
189
Definiowanie własnego uchwytu wyj%tków
194
Przetwarzanie bł'dów we własnym uchwycie bł'dów
195
Funkcje debuguj%ce
196
8. Strumienie, nakładki i filtry....................................................................................... 201
U3ywanie API strumieni
202
Ogólne informacje o nakładkach
204
Szczegółowe informacje na temat nakładek
206
Tworzenie nakładek
214
Filtrowanie strumieni
223
Tworzenie filtrów
227
6 | Spis treci
9. Inne rozszerzenia........................................................................................................231
SOAP
231
Tidy
239
Klasy Reflection
243
10. PHP w akcji ..................................................................................................................251
Definicja schematu bazy danych
252
Klasa Person
253
Klasa addressBook
257
Klasa Template
262
Zło3enie aplikacji w cało,F
266
Nakładki i kierunki dalszego rozwoju
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 treci
| 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
676258649.002.png
Zgłoś jeśli naruszono regulamin