You are on page 1of 35

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

PHP. Programowanie
w systemie Windows
Autor: Andrew Stopford
Tumaczenie: Aleksandra Kula
ISBN: 83-7197-915-0
Tytu oryginau: PHP Programming for Windows
Format: B5, stron: 290

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Ksika opisuje doskona platform programistyczn dla MS Windows. Opisuje ona


PHP na tyle szczegowo, e osoby zainteresowane mog potraktowa j jako
podrcznik tego jzyka. Jej szczegln zalet jest wyczerpujce omwienie integracji
PHP z technologiami Windows. Dziki ksice dowiesz si, jak tworzy i wykorzystywa
obiekty COM w PHP, jak czy PHP z platform .NET, jak korzysta z ActiveDirectory
oraz jak uywa MSXML.
PHP. Programowanie w systemie Windows zawiera rwnie opis:
Instalacji PHP w systemie Windows
Konfigurowania i optymalizacji serwerw WWW
Jzyka PHP i jego funkcji
czenia PHP z bazami danych (Microsoft SQL Server, Oracle i MySQL)
Uycia XML i XSLT w PHP
Integracji PHP z ASP przy uyciu WDDX
Tworzenia usug WWW w PHP
Jeli planujesz uywa PHP w systemach Windows, ksika ta stanie si dla Ciebie
nieocenion pomoc. Gwarancj dobrej jakoci stanowi rwnie nazwisko autora.
Andrew Stopford jest programist z wieloletnim dowiadczeniem, czonkiem wielu
zespow pracujcych nad projektami typu open-source, midzy innymi XML-RPC for
ASP i NMatrix.

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

5RKUVTGEK






 





 
  
   




  


Co to jest PHP? ......................................................................................................................18
Jak powsta PHP?...................................................................................................................18
Czym jest Open Source?........................................................................................................20
Projektowanie w PHP a projektowanie wykorzystujce technologie ASP i ColdFusion?....20
Kto odpowiada za dalszy rozwj PHP? .................................................................................21
PHP dzisiaj.............................................................................................................................22
Przyszo PHP ......................................................................................................................22
Podsumowanie .......................................................................................................................23




  !

"
Planowanie instalacji PHP .....................................................................................................25
Pobieranie PHP z witryny......................................................................................................26
Instalowanie PHP...................................................................................................................28
Optymalizowanie instalacji....................................................................................................44
Rozwizywanie problemw z instalacj................................................................................51
Podsumowanie .......................................................................................................................51




   
   

#


$! 

""
Narzdzia do tworzenia aplikacji w PHP ..............................................................................55
Podstawy skadni PHP ...........................................................................................................56
Zmienne .................................................................................................................................57
Operatory logiczne i ptle......................................................................................................68
Tablice ...................................................................................................................................74
Kod strukturalny i kod wielokrotnego uytku .......................................................................80
Podsumowanie .......................................................................................................................86

%


&

'
Funkcje PHP obsugi plikw i katalogw..............................................................................87
PHP i pliki..............................................................................................................................87
PHP i katalogi ........................................................................................................................97
Podsumowanie .....................................................................................................................104

"


 

("
Sesje PHP.............................................................................................................................105
PHP a sesje WDDX .............................................................................................................110
Podsumowanie .....................................................................................................................120


  
  

)


*  +


Metody PHP tworzenia zapyta do bazy danych ................................................................121
Wsppraca z baz danych...................................................................................................123
Przekazywanie zapytania do bazy z wykorzystaniem ODBC i PHP...................................123
Przesyanie zapytania bezporednio do bazy z wykorzystaniem PHP ................................128
Podsumowanie .....................................................................................................................151



   
    




,-.
/01

""
Wszystko na temat technologii COM..................................................................................155
PHP i .NET ..........................................................................................................................163
Podsumowanie .....................................................................................................................169

'


2.3

 
Krtka historia XML-a ........................................................................................................171
Czym jest XML?..................................................................................................................172
Wywietlanie dokumentw w jzyku XML ........................................................................173
Z czego skada si jzyk XML?...........................................................................................173
Struktura jzyka XML .........................................................................................................177
Korzystanie z PHP i XML ...................................................................................................178
Formatowanie dokumentw XML za pomoc PHP i XSL .................................................186
Podsumowanie .....................................................................................................................190




 $


Z czego skadaj si usugi WWW? ....................................................................................191
Przyszo usug WWW ......................................................................................................199
Korzystanie z PHP do tworzenia usug WWW ...................................................................199
Podsumowanie .....................................................................................................................208

(
 4

(
Historia ADO.......................................................................................................................209
Czym jest ADO dla programisty PHP? ...............................................................................211
Instalowanie ADO ...............................................................................................................211
Wsppraca pomidzy PHP i ADO .....................................................................................211
ADODB i PHP.....................................................................................................................232
Podsumowanie .....................................................................................................................234


 5 4 

#"
Co to jest katalog X.500?.....................................................................................................235
Czym jest LDAP? ................................................................................................................236
Czym jest Active Directory?................................................................................................236
Korzystanie z Active Directory ...........................................................................................238
Korzystanie z PHP w poczeniu z Active Directory ..........................................................238
Podsumowanie .....................................................................................................................262

  !"#
4 & 1  6 47-

)"
4 &7

    

 #

8&

 

Rozdzia 3.


  
Teraz, kiedy ju zainstalowae PHP, moesz zacz projektowa aplikacje z jego wykorzystaniem. W tym rozdziale dowiesz si, od czego zacz, projektujc aplikacje dla WWW,
oraz zapoznasz si z rnymi typami danych i strukturami skadajcymi si na jzyk.

   
      
Zanim zaczniesz programowa w PHP, potrzebny Ci bdzie program do pisania, edytowania i zapisywania skryptw. Moesz korzysta z aplikacji Notatnik, jednak dostpne
s rwnie inne programy oferujce takie funkcje jak podwietlanie skadni kodu oraz
testowanie i uruchamianie. Omwimy to w kolejnych punktach.


Edytor typu open-source, PHP Edit, oferuje podwietlanie kodu w rnych kolorach, testowanie go oraz dostp do dokumentacji funkcji oraz obiektw i inne.
Wicej informacji, jak rwnie samo narzdzie, znajdziesz na stronie http://www.
phpedit.com/.


  
Macromedia HomeSite to edytor HTML obsugujcy technologi ASP, ColdFusion i PHP.
Obsuga kolorowego podwietlania poszczeglnych elementw kodu jest wbudowan
funkcj HomeSite, ale dostp do innych funkcji, takich jak dokumentacja skadni, jest
moliwy jedynie przy wykorzystaniu narzdzi innych firm.
Wicej informacji i testow wersj moesz pobra z witryny http://www.macromedia.com/
software/homesite/.
Dodatki do programu Macromedia HomeSite przeznaczone do programowania w PHP
mona pobra ze strony http://www.wilk4.com/asp4hs/php4hs.htm.



 
    


  
Narzdzie dostpne jest zarwno dla platformy Windows, jak i Linux. ActiveState Komodo to popularny edytor. Obsuga PHP jest wbudowan funkcj narzdzia umoliwiajc podwietlanie w rnych kolorach skadni oraz zdalne testowanie i uruchamianie kodu.
Wicej informacji i testow wersj ActiveState Komodo mona pobra z http://www.
activestate.com/Products/Komodo/.


Zend IDE to narzdzie zbudowane w oparciu o jzyk Java, ktre zawiera obsug podwietlania w rnych kolorach skadni, jak rwnie rozbudowane funkcje zdalnego testowania i uruchamiania. Wicej informacji i testow wersj narzdzia znajdziesz na stronie
http://www.zend.com/store/products/zend-ide.php.

   
Podobnie jak ASP, PHP wykorzystuje co, co osobicie nazywam otwierajco-zamykajcym nawiasem (z ang. open-close bracket). W klasycznym ASP program rozpoczyna
si od znacznika pocztku programu (), a koczy si znacznikiem koca programu ():


  



Podobna sytuacja ma miejsce w przypadku PHP. Program rozpoczyna si od znacznika


, a koczy :

    
 !


PHP dopuszcza rwnie skadni dobrze znan programistom tworzcym aplikacje uruchamiane po stronie klienta. Skadnia ta rozpoczyna si poleceniem 
,
a koczy poleceniem 
:
"#$%&'(')*
    !
+"#$

Jeli masz dowiadczenie w projektowaniu w ASP, nie musisz si obawia. PHP pozwala
wykorzystywa skadni ASP:

    
 


Aby jednak taka skadnia bya poprawna, musisz zmieni wpis w pliku php.ini:
, *-

Ta zmienna ma domylnie przypisan warto .

    



    
Wieloliniowe programy tworzone w PHP wymagaj uycia dodatkowego znaku:

  $. 
/. 
!
    
 !


Zauwa, e PHP wymaga uycia operatora zamykajcego lini znaku rednika ().
Jeli uruchomisz program, w ktrym nie ma znacznika koca linii, jak w poniej przedstawionym przykadzie, pojawi si informacja o bdzie    !"# $%&$'():

  $. 
/. 

    
 


Jeli nigdy nie uywae znakw koca linii, moesz czasami o nich zapomina. Jeli
pojawi si wiadomo   podczas tworzenia aplikacji dla WWW, sprawd, czy
nie brakuje znaku koca linii w wierszu o numerze podanym przez komunikat o bdzie,
jak pokazano na rysunku 3.1.


Wiadomo
o bdzie Parse error




PHP jest okrelany jako jzyk lunych deklaracji. Oznacza to, e nie musisz deklarowa
typu zmiennych przed ich uyciem. PHP przypisuje w Twoim imieniu typy zmiennych.
Aby to zrozumie, przyjrzyj si nastpujcemu przykadowi:

++ 0
1  0 *2!
10340 *5 66!
1 0 *0 .!
140 *$()!
++0. 0
1# $* 1  0 !
  7 1  0 .  31# $8!
1934$* 10340 !
  7 10340 .  31934$8!



 
    
1 $* 1 0 !
  7 1 0 .  301 $8!
18$* 140 !
  7 140 .  3018$8!


Jeli zapiszesz dane jako zmienn, PHP przypisuje typ zmiennej zgodnie z typem zapisanych w niej danych. Najpierw podaj, jakie dane bd przechowywane w zmiennej:
1  0 : *2!
10340 : *5 66!
1 : *0 .!
14: *$()!

PHP nadaje zmiennej typ odpowiadajcy danym zapisanym w zmiennej. Na przykad, poniewa do zmiennej *%('+, przypisana jest warto Andrzej, PHP nada tej zmiennej
typ %('+. Moesz to sprawdzi, wywietlajc typ zmiennej za pomoc funkcji % -:
1# $*' $1  0 : !

Teraz moesz wywietli warto zmiennej i jej typ:


  7 1  0 : .  31# $8!

Jeli uruchomisz ten skrypt, zobaczysz takie wyniki, jakie pokazano na rysunku 3.2.


Typy danych w PHP

Zwr uwag, e zmienna typu .' jest wywietlana jako /. PHP wywietla zmienne
typu .' jako /, jeli zmienna ma warto , i jako '0.. (warto pusta), jeli zmienna ma warto 1. Przyjrzymy si temu dokadniej w dalszej czci tego rozdziau.

   



Chocia lune deklaracje mog by przydatne w niektrych sytuacjach, czasem musisz
poda typ danych wprost, na przykad przy przetwarzaniu danych pobranych z bazy danych. W tym celu musisz skorzysta z metody % -:

++ 0
1  0 *;66!

    



10340 *5 66!


1 *<!
14*$()!
++
  0
1# $* 1  0 !
  7 1  0 .  31# $8!
1934$* 10340 !
  7 10340 .  31934$8!
1 $* 1 !
  7 1 .  31 $8!
18$* 14!
  7 14.  318$8!
++ = 0
 $10340 >   !
 $1  0 >034!
 $14> !
 $1 >4!
++
?
 
 0
1# $* 1  0 !
  7 1  0 .    31# $8!
1934$* 10340 !
  7 10340 .    31934$8!
1 $* 1 !
  7 1 .    31 $8!
18$* 14!
  7 14.    318$8!


Podobnie jak w pierwszym przykadzie, przypisalimy zmiennym wartoci i wywietlilimy zawarto tych zmiennych oraz ich typ:
1  0 *;66!
10340 *5 66!
1 *<!
14*$()!
1# $* 1  0 !
  7 1  0 .  31# $8!
1934$* 10340 !
  7 10340 .  31934$8!



 
    
1 $* 1 !
  7 1 .  31 $8!
18$* 14!
  7 14.  318$8!

Nastpnie moliwa jest zmiana typu kadej ze zmiennych za pomoc funkcji % -:
 $10340 >   !
 $1  0 >034!
 $14> !
 $1 >4!

Jako argumenty funkcji % - podaj nazw zmiennej, ktrej typ chcesz zmieni (jak
na przykad *#0 .#%), a nastpnie typ danych, na ktry typ zmiennej ma zosta zmieniony (na przykad ('%+). Na kocu moesz wywietli wartoci i nowe typy zmiennych:
1# $* 1  0 !
  7 1  0 .  31# $8!
1934$* 10340 !
  7 10340 .  31934$8!
1 $* 1 !
  7 1 .  31 $8!
18$* 14!
  7 14.  318$8!

Jeli uruchomisz ten skrypt, zobaczysz, e typy zmiennych zostay zmienione zgodnie
z wydanymi poleceniami, jak pokazano na rysunku 3.3.


Wykorzystanie funkcji
SetType do zmiany
typu zmiennej

O ile zamiana zmiennych typu ('%+ i #0 . nie stanowia wikszego problemu, to
zamiana zmiennych typu .' i %('+ bya wikszym wyzwaniem. Wywietlone wyniki
pokazuj, e zmienna typu %('+ ma warto /. Jest to zgodne z zasadami wywietlania
przez PHP zmiennych typu .', poniewa PHP wywietla warto  jako /, dlatego
po konwersji zmienna typu %('+ ma warto /.

    



Jak wida, rwnie zmienna .' ma warto /. Zmienna typu %('+ miaa warto
1., lecz po konwersji na typ .' zmienna nie bya pusta i dlatego zostaa uznana
za zmienn o wartoci  czyli /. Aby po konwersji zmienna typu 2.' miaa warto 1, czyli 3, zmienna typu %('+ musiaaby przed konwersj mie warto 3
bd by pusta:
1 *6!

Jeli dokonamy takiej zmiany w naszym przykadzie, to wida (patrz rysunek 3.4), e
warto zmiennej typu .' jest widoczna jako pusta zmienna. Pamitaj, e PHP traktuje
warto 3 jako warto 1 dla zmiennej typu .'. Dlatego po konwersji zmiennej
typu %('+ o wartoci 3 do typu .' zawarto zmiennej jest traktowana jako 1.
Naley rwnie pamita, e PHP wywietla zmienne typu .' o wartoci 1. jako
zmienne puste. Std w naszym przykadzie zostaa wywietlona pusta zmienna.


Dane zawierajca
zmienn typu boolean
o wartoci False

!  
Rzutowanie typw to kolejny sposb przypisywania typw zmiennych.

10 *@ A;!
1
*' $10 !
  7 10     .1
 
 ?B
10 88!
++ =  
1  * 10 !
1
*' $1  !
  7 10     .1
 
 ?B
1  8!
++ =   
1  *   10 !

 
    
1
*' $1  !
  7 10     .1
 
 ?B
1  8!
++ = 034
1  *03410 !
1
*' $1  !
  7 10     .1
 
 ?B
1  8!
++ = 4
1  *410 !
1
*' $1  !
  7 10     .1
 
 ?B
1  8!


Najpierw przypisz warto zmiennej:


10 *@ A;!

Wiadomo, e dla takiej wartoci zmiennej, PHP ustawi typ zmiennej jako #0 .. Moesz
jednak zmieni ten typ. Jeli chcesz zmieni typ zmiennej na %('+, moesz to zrobi za
pomoc nastpujcego polecenia:
1  * 10 !

Zmienna *$4('%- przyjmuje warto zmiennej *4#%, ale przypisywany jest jej
typ %('+. Takie rzutowanie typw jest moliwe dla wszystkich typw zmiennych, jak
wida na przedstawionym przykadzie. Po uruchomieniu skryptu przekonasz si, jak
dziaa rzutowanie skryptw (pokazano to na rysunku 3.5).



Rzutowanie typw

    

!

W przedstawionym przykadzie wida, e warto 5678 zostaa uznana przez PHP za typ
#0 .. Po wykonaniu rzutowania typw, widoczne s zmiany wartoci zmiennej w zalenoci od biecego typu zmiennej.

"    

PHP pozwala uywa operatorw arytmetycznych na zgodnych typach zmiennych. Jakie
to typy? Wszystkie przechowujce dane w formie numerycznej (oznacza to dowolny typ
zmiennych z wyjtkiem typu .'). W kolejnym przykadzie przedstawiony zostanie
rwnie operator konkatenacji (poczenia cigw). Nie martw si, jeli nie jeste zaznajomiony z t kwesti. Przyjrzymy si jej za moment:

++3C
 
132*26!
13A*A6!
++00
 
13*132D13A!
  132 D 13A * 13!
  8!
++0.
 
1  *13AE132!
  13A E 132 * 1  !
  8!
++0  
1  *13A+132!
  13A + 132 * 1  !
  8!
++C 
1 *13AF132!
  13A F 132 * 1 !
  8!
++03
103*13A132!
  13A  132 * 103!
  8!


"

 
    

Zaczynamy od przypisania wartoci dwch zmiennych, na ktrych bdziemy wykonywa


operacje arytmetyczne:
132*26!
13A*A6!

Nastpnie wykonujemy dziaanie arytmetyczne na tych zmiennych:


13*132D13A!

W kocu wywietlany jest wynik operacji:


  132 D 13A * 13!

Jeli uruchomisz skrypt, wywietlone zostan wyniki operacji arytmetycznych pokazane


na rysunku 3.6.



Operacje arytmetyczne

Warto nadmieni, e nastpujca deklaracja jest rwnie poprawna:


132*26!
13A*A6!

W ten sposb utworzone zmienne bd rnych typw. Zmienna *'04/ jest typu ('%+,
a zmienna *'047 jest typu %('+. Jeli zmienisz wartoci zmiennych zgodnie z poniszym
przykadem, skrypt nadal bdzie dziaa poprawnie:
132*26!
13A*A6!

Skrypt nadal bdzie wykonany poprawnie, ale operatory arytmetyczne nie zadziaaj.
Jeli PHP napotka dane innego typu ni numeryczne, zignoruje t zmienn.

"  # $
!
 %!&
'
PHP udostpnia kilka sposobw pracy na zmiennych acuchowych (%('+). Czsto
korzystasz ze zmiennych acuchowych pobranych z takiego rda jak formularze HTML,
pliki czy bazy danych, dlatego PHP umoliwia manipulowanie tymi danymi na rne
sposoby.

    



Rozpoczniemy nasz prac ze zmiennymi acuchowymi od zdefiniowania kilku zmiennych:


1  *<G!
1.*!
1
H*I30 !



Aby poczy zdefiniowane wczeniej cigi, uyj operatora konkatenacji:
1  ,
H*1   1. 1
H!

Utworzye now zmienn acuchow przez poczenie trzech cigw. Zauwa, e do


czenia acuchw suy znak kropki (6).

  
Aby pozna dugo nowego cigu, uyj funkcji %.':
103, 3* 1  ,
H!

 
PHP umoliwia usuwanie dodatkowego znaku spacji (czsto zwanego rwnie bia
spacj) znajdujcego si na kocu lub na pocztku acucha znakw. Poniewa nasz
nowy acuch nie koczy si ani nie zaczyna bia spacj, musimy j najpierw doda,
aby nastpnie uy tych funkcji:
1  ,
H, ,.*1  ,
H!

Teraz moesz usun pocztkow spacj za pomoc funkcji .%(4:


1 ,  ,
H* 1  ,
H, ,.!

Bia spacj zarwno rozpoczynajc, jak i koczc acuch znakw moesz usun
za pomoc funkcji %(4:
1 ,  ,
H* 1  ,
H, ,.!


PHP pozwala zmieni wielko wszystkich liter w acuchu na wielkie lub na mae. Aby
zmieni wszystkie litery w acuch na wielkie, uyj funkcji %%0:
1  ,
H,
H   * 3 1  ,
H!

Funkcja %%.& suy do zamiany wszystkich liter w acuchu na mae:


1  ,
H,  * 
 1  ,
H!

 

PHP umoliwia wyszukanie lokalizacji, utworzenie oraz dodanie podacucha do acucha
znakw. Do utworzenia podacucha znakw suy funkcja 0 %:
10,3*34 1  ,
H>;!



 
    

Jako argument podawany jest acuch znakw, z ktrego utworzony ma by podacuch


(w naszym przypadku jest to acuch *(4(9'$&(:), i pozycja w acuchu, od ktrej
podacuch ma si zaczyna (w naszym przykadzie podacuch ma si zaczyna od
trzeciego znaku w acuchu).
Moesz odszuka lokalizacj podacucha wewntrz acucha za pomoc funkcji %:
1.,03* 1  ,
H>10,3!

Argumentami tej funkcji jest acuch, wewntrz ktrego podacuch ma by wyszukany


(u nas jest to acuch *(4(9'$&(:), oraz wyszukiwany podacuch (jest to wczeniej
utworzony podacuch *#9.';0;).
Moesz rwnie zamieni wybrany podacuch na inny we wskazanym acuchu za pomoc
funkcji %9.;:
10,  ,
H* , <G>3>1  ,
H!

Argumentem funkcji %9.; jest acuch, ktry ma by wyszukany (w naszym przypadku jest to 1<), acuch, ktrym zostanie on zastpiony (w naszym przykadzie jest
to acuch ;0..-), oraz acuch, wewntrz ktrego zamiana zostanie dokonana (w naszym przykadzie jest to *(4(9'$&(:).

 !"   



Moesz sprawdzi wszystkie opisane wczeniej metody za pomoc nastpujcego skryptu:

++J=3
1  *<G!
1.*!
1
H*I30 !
++JK 
1  ,
H*1   1. 1
H!
  1  ,
H JKJ=3!
  8!
++0J3?B
103,3* 1  ,
H!
  9J3?BJKJ=3 103,3!
  8!
++00 H
.
1  ,
H, ,.*1  ,
H!
  L=300 H
 H .  F1  ,
H, ,.F!
  8!

    



1 ,  ,
H* 1  ,
H, ,.!
  L=333 M 3K H
..  F1 ,  ,
HF!
  8!
1 ,  ,
H* 1  ,
H, ,.!
  L=333 M 3H=K..  F1 ,  ,
HF!
  8!
++
H?B 
1  ,
H,
H   * 3 1  ,
H!
  L=3 
H      1  ,
H,
H   !
  8!
1  ,
H,  * 
 1  ,
H!
  L=3 J     1  ,
H,  !
  8!
++0J=3
++0J=3
10,3*34 1  ,
H>;!
  0J=3 10,3!
  8!
++.0J=3
103,.* 1  ,
H>10,3!
  .0J=3 103,.!
  8!
++0 =0J=3
10,  ,
H* , <G>3>1  ,
H!
  0  J=3 10,  ,
H!
  8!


Jeli uruchomisz powyszy skrypt, zobaczysz, jak dziaaj metody obsugi acuchw,
co pokazano na rysunku 3.7. Zauwa, e wywietlajc wyniki dziaania metody konkatenacji, po obu stronach acucha umieciem znaki =. Pozwala to pokaza znaki spacji
umieszczone pomidzy tymi znakami a acuchem.



 
    




Metody obsugi
acuchw


  


Kontrolowanie dziaania programu jest niezwykle istotn kwesti. By moe musisz


sprawdzi okrelone warunki logiczne lub wykona ptl po sprawdzeniu warunku.
Takie elementy byy zawsze obecne w jzykach programowania i w tym przypadku
PHP nie jest wyjtkiem.

"   

W PHP istnieje kilka sposobw sprawdzania warunkw logicznych. Sprawdzajc warunek logiczny, porwnujesz jedn warto z inn wartoci i sprawdzasz, czy s sobie rwne:

1*2A4!
N1**2A4O
  -0 J!
P


Ten fragment kodu wykorzystuje instrukcj (. Skadnia tej instrukcji jest prosta. Jeli
warto jest rwna innej wartoci, PHP zwraca warto wyraenia jako prawda. W powyszym fragmencie kodu sprawdzamy, czy warto zmiennej *. jest rwna /7 .
Jeli tak, to wywietlany jest komunikat, jak pokazano na rysunku 3.8.
Co by si stao, gdyby warto zmiennej *. bya rna od podanej w warunku wartoci?
Poprzedni przykad nie wywietliby adnej wartoci. Jednak za pomoc PHP rwnie
moesz wykonywa okrelone dziaania, jeli warunek nie zostanie speniony.

    






Testowanie
prawdziwoci
wyraenia za pomoc
instrukcji if


1*;;;;!
N1**2A4O
  -0 J!
PO
  & 0 J!
P


Jeli wartoci, ktrej szukasz, nie odnaleziono, wykonane zostanie dziaanie zdefiniowane po instrukcji .. Jeli warto zmiennej *. jest rwna podanej wartoci, to
wywietlony zostanie komunikat #'.$(' !. Jeli jednak warto zmiennej
jest rna od podanej wartoci, to wywietlony zostanie komunikat ( #'.$('
!. Nadanie zmiennej *. wartoci innej ni podana w warunku powoduje wywietlenie komunikatu ( #'.$(' !, jak pokazano na rysunku 3.9.



Sprawdzanie
nieprawdziwoci
wyraenia za pomoc
instrukcji if else

Jeli masz wiele warunkw do sprawdzenia za pomoc instrukcji (, moesz to zrobi
w nastpujcy sposb:

1*44AA!
N1**22O
  -0 J03C H
 HQ!
P



 
    
N1**44AAO
  -0 J03C H
 HN 0!
P
N1*;;O
  -0 J03C H
 HQH!
P


Najwikszym problemem sprawia tutaj fakt, e PHP wykona wszystkie instrukcje (,
nawet jeli pierwszy warunek zostanie speniony. Aby tego unikn, moesz wykorzysta
zagniedone instrukcje (:

1*44AA!
#N1**22O
  -0 J03C H
 HQ!
P#N1**44AAO
  -0 J03C H
 HN 0!
P#N1**;;O
  -0 J03C H
 HQH!
P


Jednak, jeli utworzye wiele zagniedonych instrukcji (, pisany przez Ciebie kod szybko
stanie si nieczytelny. Lepszym sposobem bdzie uycie instrukcji &(%; i ;:

1*44AA!

1O
22R
  -0 J03C H
 HQ!
4 H!
44AAR
  -0 J03C H
 HN 0!
4 H!
;;R
  -0 J03C H
 HQH!
4 H!
P


W tym przykadzie sprawdzana jest kada warto zmiennej *. w instrukcji ;.
Jeli odnaleziona zostanie pasujca warto, wywietlany jest komunikat o odnalezieniu
hasa dla danego uytkownika.

    



Zauwa, e uyto instrukcji :, aby po odszukaniu odpowiedniej wartoci przerwane


zostao wykonywanie dalszych instrukcji wewntrz instrukcji &(%;. W przeciwnym
razie instrukcja &(%; byaby wykonywana analogicznie jak wczeniej przedstawiona
instrukcja (, czyli sprawdzane zostayby kolejno wszystkie warunki.


'
PHP umoliwia wykonywanie w programie ptli na kilka sposobw. Wszystkie ptle
pozwalaj wykonywa serie polece, a do momentu, kiedy warunek wykonania ptli
zostanie speniony, na przykad licznik osignie okrelon warto. Pierwsz metod
jest ptla :

N 1  H*2!1  H*26!1  HDDO
  1  H!
  8!
P


Ptla  skada si z nastpujcych elementw:




Wartoci rozpoczynajcej ptl w naszym przypadku jest to 1 (*.(;$'(:  /).



Sposobu sprawdzania wartoci. W tym przypadku, jeli warto zmiennej


wyniesie 10, ptla przestanie by wykonywana (*.(;$'(:  /3).



Sposobu zmiany wartoci wewntrz ptli. W naszym przykadzie warto jest


zwikszana o jeden przy kadym przebiegu ptli (*.(;$'(:>>).

Dlatego ptla wywietla liczby od 1 do 10 (rysunek 3.10).





Inkrementacja
licznika ptli for
od 1 do 10

Wewntrz ptli  ma miejsce kilka wanych zdarze. Pierwszym z nich jest testowanie warunku logicznego. W naszym przykadzie sprawdzalimy, czy warto zmiennej
jest rwna lub mniejsza od 10. Moesz rwnie sprawdza inne warunki, jak pokazano
w tabeli 3.1.

 
    



Inne warunki
Warunki

Znaczenie

**

rwny

S*

rny

mniejszy ni

wikszy ni

*

wikszy lub rwny

*

mniejszy lub rwny

***

identyczny (rwna warto i taki sam typ)

Moesz uywa tych warunkw nie tylko w poczeniu z instrukcj , ale z dowoln
instrukcj, ktra sprawdza warto warunku logicznego, na przykad z instrukcj (.
Przyjrzyj si, w jaki sposb w poprzednim przykadzie zmieniana jest warto licznika
podczas wykonywania ptli. Warto licznika moe by inkrementowana lub dekrementowana. Dekrementowanie licznika bdzie miao posta:
1  HEE

Moemy zmieni nasz przykad w nastpujcy sposb:



N 1  H*26!1  H*2!1  HEEO
  1  H!
  8!
P


Po uruchomieniu tego skryptu ptla wykona odliczanie od 10 do 1, jak pokazano na


rysunku 3.11.


Dekrementacja
licznika w ptli for
od 10 do 1

Innym sposobem wykonania ptli jest instrukcja &(.:

    

!


1  H*2!

 1  H*26O


  1  H!
  8!
1  HDD!
P


Na pocztku przypisywana jest warto pocztkowa zmiennej *.(;$'(: w naszym


przykadzie jest to 1:
1  H*2!

Nastpnie wykonywana jest ptla do chwili, gdy warto licznika osignie 10:

 1  H*26O

Podobnie jak w przypadku ptli  moesz uy rnych operatorw porwnania. Wewntrz ptli warto zmiennej *.(;$'(: jest inkrementowana:
1  HDD

Oczywicie moesz rwnie zastosowa podobn metod jak w naszym drugim przykadzie z ptl  dekrementowa warto licznika. Po uruchomieniu skryptu ptla
&(. odlicza od 1 do 10, jak pokazano na rysunku 3.12.


Inkrementowana
ptla while odliczajca
od 1 do 10

PHP umoliwia sterowanie wykonaniem ptli za pomoc instrukcji # &(.:



1  H*2!
0O
  1  H!
  8!
1  HDD!

"

 
    
P
 1  H*26!


Przedstawiona ptla wyglda podobnie jak ptla &(.. Po uruchomieniu skryptu wykonane
zostanie liczenie od 1 do 10, a nastpnie ptla zostanie zakoczona. Czym si w takim
razie rni od ptli &(.? Rnica pomidzy tymi ptlami polega na lokalizacji instrukcji
&(.. W ptli # &(. warto zmiennej licznika jest modyfikowana (w naszym przykadzie jest inkrementowana), a nastpnie warto tej zmiennej jest sprawdzana. W ptli
&(. warto zmiennej jest testowana, a nastpnie zmieniana. Istotny jest moment zmiany
licznika i moment jego sprawdzenia. Tutaj zmienna *.(;$'(: przy wartoci 1 nigdy nie
jest sprawdzana, poniewa przed sprawdzeniem jest inkrementowana do wartoci 2.

 

Tablica zapewnia uporzdkowany sposb przechowywania danych, do ktrych mona


si w prosty sposb odwoywa. Na rysunku 3.13 wida, e tablica wyglda jak talia
numerowanych kart, a na kadej karcie jest wydrukowana warto. Na przykad karta 3
ma nadrukowan warto L.


Struktura tablicy

Kada karta w naszym przykadzie jest okrelana jako element tablicy. Warto poszczeglnych elementw tablicy to warto tablicy, a do kadego elementu tablicy mona si
odwoa poprzez klucz. W PHP dostpnych jest kilka sposobw obsugi tablicy.

1
0T6U* !
1
0T2U*)!
1
0TAU*%!
1
0T;U*%!
1
0TVU*-!

   1H3>1
 *1
0O
  1
 !
  H3 4 1H3 /
 M
 ? 1
 !
  8!
P


Rozpoczynamy od utworzenia tablicy:


1
0T6U* !
1
0T2U*)!
1
0TAU*%!
1
0T;U*%!
1
0TVU*-!

    



Wykorzystywana jest zmienna typu -. Mwi o tym nawias kwadratowy umieszczony
za nazw zmiennej. Zauwa, e tablica zaczyna si od pozycji 0; w PHP wszystkie tablice
zaczynaj si od tej pozycji. W naszym przykadzie warto elementu *&(#4;?/@ jest
rwna E. Teraz, kiedy utworzona zostaa tablica, musisz mie moliwo dostpu do jej elementw. PHP umoliwia odwoanie do kolejnych elementw tablicy w nastpujcy sposb:

   1H3>1
 *1
0O
  1
 !
  8!
P

Ptla &(. przechodzi przez kolejne elementy tablicy. Tablica jest dzielona na klucze
elementw i wartoci elementw za pomoc instrukcji .(%, a nastpnie instrukcja ;
pobiera wartoci kolejnych elementw tablicy. Wewntrz ptli wywietlane s kolejne
elementy tablicy:
  H3 4 1H3 /
 M
 ? 1
 !

Po uruchomieniu skryptu wywietlone zostan kolejne elementy tablicy.


Jako kluczy poszczeglnych elementw tablicy nie musisz uywa liczb. Moesz uywa
dowolnych wartoci. Moemy zmieni powyszy przykad, zastpujc liczby literami:

1
0TU* !
1
0T8U*)!
1
0T"U*%!
1
0T9U*%!
1
0T)U*-!

   1H3>1
 *1
0O
  1
 !
  8!
P


Moesz rwnie wyszukiwa wartoci w tablicy, posugujc si kluczem elementu:



1
0TU* !
1
0T8U*)!
1
0T"U*%!
1
0T9U*%!
1
0T)U*-!

   1H3>1
 *1
0O
 N1H3**8O
  )  4 H331H3
 ?B1
 !
P
P


Powyszy kod wyszukuje element tablicy o kluczu B i wywietla jego warto, jak pokazano na rysunku 3.14.



 
    



Warto elementu
tablicy wyszukana
poprzez klucz tego
elementu

PHP umoliwia rwnie tworzenie tablicy za pomoc instrukcji -:



1
0* * >8*)>"*%>9*%>)*-!

   1H3>1
 *1
0O
  H3 4 1H3 /
 M
 ? 1
 !
  8!
P


Zmienna *&(#4; zawiera tablic utworzon za pomoc instrukcji -. Instrukcja


- pozwala tworzy tablic przez podanie kolejnych kluczy elementw i ich wartoci.
Po uruchomieniu skryptu zobaczysz zawarto struktury utworzonej przez instrukcj
-, jak pokazano na rysunku 3.15.



Klucze i wartoci
elementw tablicy
utworzonej przez
instrukcj array

Instrukcja - samodzielnie nadaje klucze kolejnym elementom tablicy, jeli nie zostan
one osobno zdefiniowane:

1
0*  >)>%>%>-!

   1H3>1
 *1
0O
  H3 4 1H3 /
 M
 ? 1
 !
  8!
P


    



W tym przykadzie podalimy jedynie wartoci elementw tablicy tworzonej instrukcj


-. Po uruchomieniu skryptu wida, e instrukcja - samodzielnie nadaa klucze
kolejnym elementom tablicy (patrz rysunek 3.16).



Klucze kolejnych
elementw tablicy
s automatycznie
tworzone przy uyciu
instrukcji array

    (

Zdarza si, e tablica zawiera nieuporzdkowane elementy; wartoci elementw i kluczy
nie s umieszczone na kolejnych pozycjach tablicy i naley je uporzdkowa. Tworzenie
fragmentw kodu, ktry wykonuje porzdkowanie tablicy moe by bardzo czasochonne
(nawet, jeli korzystamy z napisanych przez innych programistw fragmentw kodu).
Na szczcie PHP zawiera zestaw instrukcji, ktre su do tego celu.
W kolejnych punktach omwimy cztery typy instrukcji % przeznaczonej do sortowania
tablicy wedug wartoci elementw tablicy lub ich kluczy.

#
Instrukcja % pozwala posortowa wartoci elementw tablicy w porzdku rosncym:

++ 
 
 ?  4 
 K0H3 K
13 H * 5>A>;>2>V!
++ 3 K0H

   3 K0H
 4 8!

   1H3>1
 *13 H O
  ) H331H3
 ?B1
 !
  8!
P
  8!
++3 K0H

  3 K0H
 4 8!
 13 H !



 
    

   1H3>1
 *13 H O
  ) H331H3
 ?B1
 !
  8!
P


Powyszy fragment kodu powoduje utworzenie tablicy za pomoc instrukcji -, ktra
samodzielnie nadaje klucze kolejnym elementom tablicy. Nastpnie skrypt wywietla
zawarto nieuporzdkowanej tablicy, porzdkuje elementy tablicy i ponownie wywietla
zawarto tablicy, tym razem ju posortowan.

#
Zauwa, e podczas sortowania tablicy przy uyciu instrukcji % zmieniane s klucze
elementw tablicy. Przed sortowaniem klucz 0 wskazywa warto 5, natomiast po sortowaniu ten sam klucz wskazywa warto 1. Moesz zachowa pary klucz-wskazywany
element, rwnoczenie porzdkujc rosnco elementy tablicy. Jak? Uyj funkcji %:

++ 
 
 ?  4 
 K0H3 K>
3.K   H3
1
0* *2>8*5>"*A>9*;>)*V!
++ 3 K0H

   3 K0H
 4 8!

   1H3>1
 *1
0O
  ) H331H3
 ?B1
 !
  8!
P
  8!
++3 K0H

  3 K0H
 4 8!
 1
0!

   1H3>1
 *1
0O
  ) H331H3
 ?B1
 !
  8!
P


W naszym kodzie podczas definiowania tablicy podawane s zarwno wartoci elementw, jak i ich klucze, jednak moesz rwnie skorzysta z automatycznego nadawania
kluczy przez wykorzystanie instrukcji -, podobnie jak w poprzednim przykadzie
opisujcym instrukcj %. Nastpnie skrypt wywietla zawarto nieuporzdkowanej
tablicy, sortuje elementy tablicy za pomoc instrukcji % i ponownie wywietla zawarto tablicy, jak pokazano na rysunku 3.17.
Elementy tablicy zostay uporzdkowane, ale powizania pomidzy kluczami i elementami tablicy pozostay niezmienione. Na przykad klucz E wskazuje element tablicy o warto 4 przed i po sortowaniu.

    






Tablica posortowana
w porzdku rosncym
z wykorzystaniem
instrukcji asort,
ktra nie modyfikuje
powiza kluczy
z elementami tablicy

#
Moliwe jest rwnie posortowanie elementw tablicy w porzdku malejcym za pomoc
funkcji %:

++ 
  4 
 K0H3.K
1
0* 5>A>;>2>V!
++  

    
 4 8!

   1H3>1
 *1
0O
  ) H331H3
 ?B1
 !
  8!
P
  8!
++ 

   
 4 8!
 1
0!

   1H3>1
 *1
0O
  ) H331H3
 ?B1
 !
  8!
P


Powyszy przykad dziaa analogiczne jak przykadowy skrypt opisujcy funkcj %.
Funkcja % sortuje tablic w porzdku malejcym.



 
    

#
PHP umoliwia sortowanie kluczy tablicy w porzdku rosncym za pomoc funkcji :%:

++ 
 H3 4 
 K0H3 K
1
0* 8*2>"*5>9*A>*;>)*V!
++ 3 K0H

   3 K0H
 4 8!

   1H3>1
 *1
0O
  ) H331H3
 ?B1
 !
  8!
P
  8!
++3 K0H

H 1
0!
  3 K0H
 4 8!

   1H3>1
 *1
0O
  ) H331H3
 ?B1
 !
  8!
P


Powyszy skrypt wyglda analogiczne jak poprzednie przykady, z t rnic, e wykorzystuje instrukcj :% do porzdkowania tablicy.
W tym przykadzie kluczami elementw tablicy s litery. Po posortowaniu za pomoc
instrukcji :%, klucze s sortowane w porzdku alfabetycznym.

   



  
Moje pierwsze spotkanie z programowaniem miao miejsce na studiach. Moim nauczycielem by Chris Pickford, a by on jednym z najbardziej cierpliwych ludzi, jakich spotkaem w yciu. Chris dawa z siebie wszystko, prbujc nauczy grup niedowiadczonych,
ale bardzo chtnych, programistw podstaw i zalet programowania strukturalnego i nadajcego si do wielokrotnego wykorzystania kodu. Dopiero kiedy zaczem y z programowania zrozumiaem, jak wane byo to, czego nauczy mnie Chris. Ten punkt dedykuj
Tobie, Chris.
Kod strukturalny i kod wielokrotnego uytku pozwala rozbi program na uporzdkowane
fragmenty, w celu efektywnego wykorzystania fragmentw kodu wewntrz aplikacji.
Takie podejcie jest korzystne, poniewa aplikacja moe wielokrotnie wykonywa te
same zadania, takie jak czenie si z baz danych, wystawianie zapytania do bazy danych

    



i wywietlanie danych otrzymanych z bazy danych. Podzielenie aplikacji na fragmenty


pozwala zmniejszy moliwo wystpienia bdw oraz skrci czas tworzenia aplikacji
(oszczdzanie czasu to zawsze wana rzecz). PHP pozwala dzieli kod na kilka sposobw
przy wykorzystaniu funkcji, klas i doczanych bibliotek.

  %!&
'
Korzystanie z funkcji to jeden z najprostszych sposobw dzielenia kodu na fragmenty,
ktre mog by wielokrotnie wykorzystywane.

N3 W 0
1  O
 3   1  !
P
1
 *W 0
0 .!
  1
 !


W powyszym przykadzie utworzona zostaa funkcja wywietlajca wiadomo. Do


funkcji jako argument przesyane jest imi, ktre nastpnie jest umieszczane jako cz
wywietlanej wiadomoci. Najpierw tworzona jest funkcja:
N3 W 0
1  O
 3   1  !
P

Zauwa, e wyniki wykonania funkcji s zwracane w nastpujcy sposb:


 3   1  !

Innymi sowy, instrukcja %0' zwraca wyniki wykonania funkcji po jej wywoaniu.
Dlatego, aby pobra wyniki wykonania funkcji, naley zapisa je jako zmienn:
1
 *W 0
0 .!

W kocu wywietlane s wyniki wykonania funkcji:


  1
 !

Po uruchomieniu skryptu wywietlone zostan wyniki wywoania funkcji.

 !" 


Za pomoc funkcji mona rwnie modyfikowa zawarto przekazywanych do nich
zmiennych. Przekazujc zmienn do funkcji, moesz zachowa niezmienion warto
zmiennej po zakoczeniu wykonywania funkcji (nazywane jest to przekazywaniem przez
warto) lub zmieni dane (nazywamy to przekazywaniem przez zmienn).

N3 W#"1 3 O
1 3  *XKX!

 
    
P
1
*   ?  !
++ 
 ?B
W#"1
!
  1
!
++
  
  8!
++  K
W#"Y1
!
  1
!


Powyszy kod modyfikuje zmienn *'$&. Najpierw zmiennej nadawana jest warto:
1
*   ?  !

Funkcja czy acuch danych ze zmienn acuchow przekazywan do funkcji:


N3 W#"1 3 O
1 3  *XKX!
P

Nastpnie wywoywana jest funkcja, do ktrej argument jest przekazywany przez warto
i wyniki dziaania funkcji s wywietlane. Zauwa, e w PHP argumenty do funkcji s
domylnie przekazywane przez warto:
W#"1
!
  1
!

Nastpnie ta sama funkcja jest wywoywana z przekazaniem argumentu przez zmienn,


a wynik dziaania funkcji jest wywietlany.
W#"Y1
!
  1
!

Aby przekaza do funkcji argument przez zmienn, naley doda znak A przed zmienn
przekazywan do funkcji (jak na przykad A*'4). Po uruchomieniu skryptu wida, e
przy wywoaniu funkcji z przekazaniem argumentu przez warto, warto zmiennej acuchowej pozostaje niezmieniona (patrz rysunek 3.18). Jednak przy przekazaniu argumentu
przez zmienn, jej warto jest zmieniana.



Wyniki przekazania
argumentu
przez warto
i przez zmienn

    

!

   (&


PHP pozwala na rozbudowywanie i wielokrotne wykorzystanie napisanego fragmentu
kodu w postaci obiektw. Obiekty PHP umoliwiaj dzielenie kodu na segmenty, ktre
w PHP s okrelane jako klasy. Jest to kolejny krok w kierunku strukturyzacji i wielokrotnego wykorzystania kodu, poniewa umoliwia cakowite oddzielenie rnych czci
aplikacji. Rozdzielajc w ten sposb kod, programista ma pewno, e podczas testowania
i uruchamiania segmentu kodu wszystkie potrzebne instrukcje i definicje znajduj si
w jednej klasie. Jak, w takim razie, korzysta z obiektw w PHP?

.HO
N3 W 0
1 3 O
  3 W . 1 3 !
P
P
++
  
.H H
1.4 H *
.H!
++

J N3H. W 0
   
 H3
H N3H.
1
 *1.4 H EW 0
0 .!
++
?
  
 H/

  1
 !


Najpierw naley zdefiniowa klas dla naszego obiektu:


.HO
N3 W 0
1 3 O
  3 W . 1 3 !
P
P

Naley tutaj wspomnie o kilku istotnych kwestiach. Po pierwsze, cay kod dotyczcy
klasy jest umieszczony wewntrz nawiasw funkcji klasy. Po drugie, zauwa, e funkcja
B(#4; &(%.' uyta w poprzednich przykadach tego rozdziau, ponownie si
pojawia. Nie ma obowizku umieszczania definiowanych funkcji wewntrz klasy, ale
jest to naturalny krok, jeli dysz do strukturyzacji kodu. Podobnie jak w poprzednich
przykadach, funkcja B(#4; &(%.' pobiera dane poprzez argument, dokleja dane
do zmiennej i zwraca zmienn jako wynik dziaania.
1.4 H *
.H!

W dalszej czci tworzonego kodu moesz wykorzystywa zdefiniowan wczeniej klas.


W tym celu musisz najpierw stworzy kopi obiektu i przypisa j do zmiennej. W jakim
celu? Jest to kolejny krok w kierunku wielokrotnego wykorzystania fragmentu kodu.
Moesz korzysta z tego samego obiektu, nadajc mu rne wartoci i uzyskujc rne
wyniki. Nie moesz jednak uywa tego samego obiektu, rwnoczenie nadajc mu rne
wartoci, dlatego musisz utworzy kilka kopii tego obiektu i uywa tych kopii. W naszym
przykadzie obiekt jest wykorzystywany tylko jeden raz, ale zasady skadni pozostaj
niezmienione. Kopia obiektu jest przypisana do zmiennej *4C (:%:
1
 *1.4 H EW 0
0 .!

"

 
    

Teraz moesz korzysta z obiektu. W PHP obowizuje nastpujca skadnia:



E    

W tym przykadzie wywoywana jest funkcja B(#4; &(%.' obiektu 4C:..


Po uruchomieniu skryptu pojawi si wyniki wywoania funkcji wewntrz obiektu. Ten
przykad jest raczej prosty. Aby przedstawi zalety wynikajce z wykorzystania obiektw
w PHP, musimy go rozbudowa:

.HO
: 1

 
*W!
N3 90.&
1 3 O
1  E

 
*1 3 !
P
N3 W 0
O
  3 W . 1  E

 
!
P
P
++
   
.H H
1.4 H 2*
.H!
++

J N3H. W 0
   
 H3
H N3H.
1
 *1.4 H 2EW 0
!
++
?
  
 H/

  1
 !
  8!
++
  0 3 .H H
1.4 H A*
.H!
1.4 H AE90.&
0 .!
1
 *1.4 H AEW 0
!
++
?
  
 H/

  1
 !


W tym przypadku klasa skada si z kilku elementw:


.HO
: 1

 
*W!
N3 90.&
1 3 O
1  E

 
*1 3
P
N3 W 0
O
  3 W . 1  E

 
!
P
P

    



Najpierw zdefiniowano zmienn wewntrz klasy. Na niej operuje kod znajdujcy si


wewntrz definicji klasy i dlatego jest okrelana jako zmienna klasy.
: 1

 
*W!

Musisz zadeklarowa zmienn klasy przy uyciu instrukcji ,. Dziki temu PHP wie,
co jest zmienn, a co funkcj.
W naszym przykadzie obiekt zawiera dwie funkcje:
N3 90.&
1 3 O
1  E

 
*1 3 !
P
N3 W 0
O
  3 W . 1  E

 
!
P

Pierwsza z nich pobiera argument i przypisuje zmiennej klasy warto tego argumentu:
N3 90.&
1 3 O
1  E

 
*1 3 !
P

Zwr uwag na skadni przypisania zmiennej klasy:


1  E

 
*1 3

Odwoanie dotyczy zmiennej &-&(%.''$& zdefiniowanej w biecej klasie. Uycie


nastpujcej skadni gwarantuje, e odwoanie dotyczy zmiennej klasy i PHP nie pomyli
jej z inn zmienn znajdujc si poza klas.
N3H.W 0
O
  3 W . 1  E

 
!
P

Druga funkcja przekazuje warto zmiennej klasy poza klas. Kod wywoujcy klas
spenia dwa zadania. Najpierw tworzy kopi klasy i wywietla warto zmiennej klasy:
1.4 H 2*
.H!
1
 *1.4 H 2EW 0
!
  1
 !

Nastpnie tworzy kolejn kopi klasy i przekazuje warto funkcji D#C$& w celu
przypisania wartoci zmiennej klasy. Ostatnim krokiem jest wywietlenie nowej wartoci
zmiennej klasy:
1.4 H A*
.H!
1.4 H AE90.&
0 .!
1
 *1.4 H AEW 0
!
++
?
  
 H/

  1
 !

Po uruchomieniu skryptu zobaczysz wyniki wykonania dwch czci skryptu; w pierwszej


czci warto zmiennej klasy pozostawaa niezmieniona, w drugiej czci widoczna jest
nowa warto zmiennej klasy, jak pokazano na rysunku 3.19.



 
    




Zmiana wartoci
zmiennej klasy



W tym rozdziale pokrtce przyjrzelimy si rnym rodzajom edytorw w systemie


Windows, za pomoc ktrych moesz tworzy skrypty PHP. Omwilimy rwnie podstawy jzyka PHP, takie jak skadnia, zmienne, tablice, operatory logiczne i ptle, funkcje
i obiekty. Rozdzia 4., PHP i pliki, powicony jest wsppracy PHP z plikami oraz
systemem plikw Windows.

You might also like