Professional Documents
Culture Documents
PHP 5 - Osnove PHP
PHP 5 - Osnove PHP
Osnove PHP-a
PHP 5
Ako `elite da vidite listu ISP provajdera koji podr`avaju PHP, pogledajte adresu
www.php.net/links.php#hosts..
POGLAVLJE 1
Osnove PHP-a
Binarne verzije za Linux i Unix se vi{e ne distribuiraju, po{to je PHP kod njih ve} instaliran. Ako `elite, mo`ete da od izvornog koda napravite svoju instalaciju PHP-a. Idite na
adresu http://www.php.net/downloads.php i preuzmite izvorni kod za PHP.
PHP 5
Slika 1.1
Kreiranje PHP strane sa HTML kodom u njoj
POGLAVLJE 1
Osnove PHP-a
NAPOMENA
WordPad editor u Windowsu ima dosadnu naviku da nazivu datoteke dodaje ekstenziju .txt. Ovo se de{ava u slu~aju da ne prepoznaje ekstenziju. Ako tekstualni dokument
poku{ate da upamtite sa ekstenzijom .PHP, WordPAd }e napraviti ekstenziju .PHP.txt.
Ovo mo`ete da izbegnete ako u trenutku zapisivanja datoteke naziv stavite pod
dvostruke navodnike, na primer "logbook.php". Tako|e treba da imate na umu da
WordPAd podrazumevano datoteke pamti u rtf ili doc (Microsoft Word) formatu, u zavisnosti od verzije Windowsa koju koristite. Da biste bili sigurni da su Va{i XML dokumenti u obi~nom tekstualnom formatu, iz padaju}e liste Save as type, koja se nalazi u
okviru za dijalog Save Aa, izaberite opciju Text Document.
^ak mo`ete i da programe za obradu teksta, kao {to je Microsoft Word, koristite za
kreiranje PHP dokumenata. Potrebno je samo da datoteku zapamtite kao obi~nu
tekstualnu datoteku, a ne u nekom drugom formatu, kao {to je .doc (na primer, u Wordu
mo`ete da iz padaju}e liste Save as type, u okviru za dijalog Save As, izaberete opciju
Text Only). Ipak je mnogo bolje da radite sa obi~nim editorom teksta, a ne sa programom za obradu teksta, po{to programi za obradu teksta dodaju neke karakteristike
i dekoraciju koji nisu potrebni.
Za kreiranje PHP datoteka mo`ete da koristite i neko integrisano razvojno okru`enje
za PHP (IDE). U ovakvim okru`enjima imate na raspolaganju alate kojih nema kod
obi~nih tekstualnih editora. Tu mislim na automatsku proveru onog {to ste napisali da
biste bili sigurni da je PHP kod ispravan i automatsko isticanje sintakti~kih elemenata
(na primer, klju~ne re~i PHP-a se prikazuju u drugoj boji, tako da lako mo`ete da vidite
{ta ste uradili). Tu je i automatsko postavljanje, jer IDE mo`e da prebaci Va{e PHP strane
kod Va{eg ISP provajdera ako kliknete odgovaraju}e dugme ili iz menija izaberete odgovaraju}u stavku.
Evo liste IDE okru`enja koja podr`avaju PHP, a koja mo`ete preuzeti sa Interneta.
Treba da imate na umu da ve}ina ovih okru`enja nije besplatna.
l
PHP 5
Ovo se jo{ mo`e skratiti ako u datoteci php.ini uklju~ite opciju short tags (skra}ene
oznake). To je datoteka koju PHP koristi za konfiguraciju. U tom slu~aju mo`ete da
koristite samo oznake <? i ?>. Ja to ne bih preporu~io, po{to }e Va{i skriptovi ~esto
biti upotrebljavani i na drugim serverima, pored onog koji ste Vi podesili, tako da mo`e
do}i do konflikta sa drugim skript jezicima.
Unutar ovih oznaka se nalaze PHP skriptovi, koji se sastoje od PHP iskaza, koji
zavr{avaju znakom ta~ka-zarez. Taj znak je bitan, po{to on "saop{tava" PHP-u da je
teku}i red zavr{en. Mo`da ste radili sa drugim skript jezicima, kao {to je JavaScript, kod
kojih je upotreba znaka ta~ka-zarez opciona, kod PHP-a ona je obavezna.
Na{ prvi PHP skript je bio standardan. Koristili samo samo jedan iskaz - phpinfo().
Kao {to }ete videti, PHP iskazi mogu da rade razli~ite stvari. Ovaj koristi funkciju
phpinfo, koja prikazuje informacije o verziji PHP-a koja se koristi. Kada takvu funkciju
pozovete po nazivu, izvr{avaju se svi iskazi koji se u njoj nalaze. Funkcija phpinfo je
jedna od mnogih funkcija koje su ugra|ene u PHP i koje su spremne za upotrebu.
Funkcije mogu da sadr`e stotine redova koda, a sve {to mi treba da uradimo je da tu
funkciju pozovemo preko njenog naziva.
POGLAVLJE 1
Osnove PHP-a
U ovom slu~aju }e funkcija phpinfo kreirati HTML tabelu u kojoj se nalaze informacije o Va{oj instalaciji PHP-a. Evo kako se funkcija poziva preko jednog iskaza:
<?php
phpinfo();
?>
Unesite ovaj skript u svom editoru teksta, kao {to je pokazano za slu~aj WordPada
na slici 1.2, i upamtite datoteku pod nazivom phpinfo.php. Nemojte zaboraviti da
datoteku upamtite kao obi~an tekst. Ako ona nije upam}ena na taj na~in, PHP }e imati
problema sa njom (jedan od na~ina da to proverite je da pogledate kompletan naziv
datoteke u DOS prozoru pod Windowsom).
Slika 1.2
Kreiranje prvog PHP skripta
^estitamo! Upravo ste kreirali svoj prvi PHP skript. Nije lo{e. Nakon {to ste kreirali
datoteku phpinfo.php, slede}i korak je da je upamtite na Web serveru, na mestu
dakle server mo`e da je pro~ita. Ako radite sa nekim ISP provajderom, prebacite
datoteku phpinfo.php na mesto gde se sme{taju standardne Web strane. To }ete
uraditi isto kao {to prebacujete i obi~ne HTML strane pomo}u FTP programa ili Web
interfejsa.
Ako radite u lokalu i ako ste na svom ra~unaru instalirali PHP i Web server, datoteku
phpinfo.php stavite na mesto gde server mo`e da je prona|e. Kod Apache servera to je
fascikla htdocs, koja se nalazi ispod fascikle na kojoj je instaliran Apache. Kod IIS
servera to je fascikla inetpub/wwwroot. Na Linuxu to mo`e biti fascikla
/var/www/html. Nakon {to ste proverili da li je Va{ Web server konfigurisan da radi sa
PHP-om (prema instrukcijama za instalaciju koje ste preuzeli sa sajta www.php.net),
pokrenite Web server.
PHP 5
Slika 1.3
Rezultat prvog PHP skripta
POGLAVLJE 1
Osnove PHP-a
PHP 5
<HTML>
<HEAD>
<TITLE>
Mixing HTML and PHP!
</TITLE>
</HEAD>
<BODY>
<H1>
Mixing HTML and PHP!
</H1>
<?php
phpinfo();
?>
</BODY>
</HTML>
Nakon HTML elementa <H1> server nailazi na PHP skript, {to zna~i da se izlaz iz
funkcije phpinfo ubacuje na Web stranu, koja se {alje nazad do pretra`iva~a. Izlaz se
ubacuje ba{ na tom mestu. Kao {to znate, funkcija phpinfo kreira HTML tabelu sa
informacijama o instalaciji PHP-a, tako da rezultat treba da izgleda kao na slici 1.1.
Prvo se prikazuje HTML zaglavlje, a onda sledi tabela sa informacijama o PHP-u.
@elite da PHP strana izgleda vi{e zvani~no? Na adresi "http://www.php.net/download-logos.php se nalazi vi{e logoa tipa "Ra|eno u PHP-u". Samo ih preuzmite i ubacite
na Web stranu pomo}u elementa <IMG>, kao u slede}em primeru:
10
POGLAVLJE 1
Osnove PHP-a
<HTML>
<HEAD>
<TITLE>
Mixing HTML and PHP!
</TITLE>
</HEAD>
<BODY>
<H1>
Mixing HTML and PHP!
</H1>
<?php
phpinfo();
?>
<IMG SRC=php-power-white.gif>
</BODY>
</HTML>
Slika 1.4
Me{anje PHP-a i HTML-a
Na slici 1.5 mo`ete videti primer sa skinutom slikom php-power-white.gif, koja se
prikazuje na Web strani.
Slika 1.5
Ubacivanje PHP logoa
11
PHP 5
Po{to na HTML strani mo`ete da imate vi{e razbacanih skriptova, tekst mo`ete da
prikazujete na vi{e mesta. To smo pokazali na primeru 1.2, echo.php.
Primer 1.2 rad sa iskazom echo
<HTML>
<HEAD>
<TITLE>
Using the echo statement
</TITLE>
</HEAD>
<BODY>
<H1>
Echoing some text:
</H1>
<?php
echo Hello from PHP.;
?>
<H1>
Echoing some more text:
12
POGLAVLJE 1
Osnove PHP-a
</H1>
<?php
echo Hello from PHP again!;
?>
<IMG SRC=php-power-white.gif>
</BODY>
</HTML>
Slika 1.6
Upotreba iskaza echo
Tekst koji `elite da prika`ete mo`ete da stavite pod jednostruke ili dvostruke
navodnike. Preko ovog iskaza mo`ete da prikazujete brojeve bez navodnika. To izgleda
ovako:
Echo 111555;
Po{to ono za {ta koristimo iskaz echo ide na Web stranu (osim ako PHP pozivate sa
komandne linije), mo`e biti korisno da na taj na~in {aljete i HTML oznake nazad do
pretra`iva~a. Na primer, ako `elite da se svaka re~ pojavi u drugom redu, mo`ete da
HTML iskaz <BR> upotrebite na slede}i na~in:
echo "Hello<BR>from<BR>PHP.";
13
PHP 5
Novi red
\r
Return
\t
Tab
\\
Prikazuje se \
\$
Prikazuje se $.
\"
Prikazuje se ".
\0 do \777
\x0 do \xFF
Na primer, iskaz echo "Line 1\nLine 2" prikazuje tekst "Line 1" u jednom redu i
"Line 2" u slede}em (ako PHP radi na komandnoj liniji). U pretra`iva~u karakter \n ne
zna~i ni{ta. Isti rezultat biste dobili ako biste napisali "Line 1 <BR> Line 2".
NAPOMENA
Ako tekst prikazujete u pretra`iva~u, morate ga formatirati pomo}u HTML oznaka. Ako
u tekst stavite nove redove, ne}e se ni{ta desiti, po{to pretra`iva~ zanemaruje te nove
redove, kao i na bilo kojoj Web strani. Ako `elite da tekst formatirate na neki na~in,
morate koristiti PHP skript i u pretra`iva~ slati ispravan HTML kod.
Ako `elite, mo`ete da duga~ak string koji je pod navodnicima u Va{em skriptu
razlo`ite na nekoliko redova. Ti novi redovi }e se prikazati ako {tampate sa komandne
linije. Ako {tampate sa Web strane, prekidi redova }e se zanemariti.
<?php
echo "This text
spans
multiple
lines.";
?>
14
POGLAVLJE 1
Osnove PHP-a
Sve stavke koje ste na ovaj na~in od{tampali {tampaju se jedna iza druge:
HellothisisPHP.
Ako `elite da od{tamapte neki specijalni karakter (kao {to je "), a da pri tome ne
naredite PHP-u da prekine tekst (po{to je " oznaka za kraj teksta), mo`ete da koristite
\". Evo kako se to radi:
echo "He said, \"I like ice cream.\"";
Ovo se naziva izvla~enje (escape) navodnika, tako da PHP prikazuje njega, a ne tretira ga kao oznaku kraja teksta.
Vi{e posebnih nizova karaktera mo`ete da u PHP-u spojite pomo}u ta~ke (.). Evo
primera:
echo "Hello " . "this " . "is " . "PHP.";
U ovom slu~aju PHP uzima izraz "Hello " . "this " . "is " . "PHP." i sklapa re~i
zajedno (ovo se naziva konkatenacija) u jedan niz karaktera. Taj string se nakon toga
prosle|uje iskazu echo.
Evo nekoliko primera koji pokazuju kako se koristi iskaz echo:
echo
echo
echo
echo
echo
11115555;
"Hello from PHP.";
'Hello from PHP.';
"Hello", "from", "PHP.";
"Hello " . "from " . "PHP.";
prikazuje:
prikazuje:
prikazuje:
prikazuje:
prikazuje:
11115555
Hello from PHP.
Hello from PHP.
HellofromPHP.
Hello from PHP.
Pored iskaza echo, mo`ete da koristite i PHP iskaz print. On ima istu sintaksu: print
"Hello from PHP.";. Koja je razlika izme|u iskaza echo i print? Nije velika. Print je vi{e
15
PHP 5
Primer 1.3 [tampanje dokumenta na licu mesta
<HTML>
<HEAD>
<TITLE>
Displaying here Documents
</TITLE>
</HEAD>
<BODY>
<H1>
Displaying here Documents
</H1>
<?php
echo <<<END
This example uses
here document syntax to display all
the text until the ending token is reached.
END;
?>
<BR>
<BR>
<IMG SRC=php-power-white.gif>
</BODY>
</HTML>
Slika 1.7
Prikazivanje dokumenta na licu mesta
16
POGLAVLJE 1
Osnove PHP-a
Ako je php u Va{oj putanji, onda ovo mo`ete da pokrenete sa komandne linije na
slede}i na~in (% je oznaka za odziv na svim ra~unarima, a u konkretnom primeru se
podrazumeva da se nalazite u fascikli na kojoj je i program echo.php):
%php echo.php
Ako ne funkcioni{e, mo`ete da zadate ta~nu lokaciju php-a, koji bi na Unixu ili
Linuxu mogla biti:
$/usr/local/bin/php echo.php
A na Windowsu
$/usr/local/bin/php echo.php
Program CLI ima puno opcija koje se koriste na komandnoj liniji, koje mo`ete
koristiti za pode{avanja njegovog rada. Php }e Vam "re}i" sve o opcijama koje postoje
ako unesete php -h. Dobi}ete punu listu opcija:
17
PHP 5
%php -h
Usage:
php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
php [options] -- [args...]
-a
-c
-n
-d
-e
-f
-h
-i
-l
-m
-r
-B
-R
-F
-E
-H
-s
-v
-w
-z
Run interactively
<path>|<file> Look for php.ini file in this directory
No php.ini file will be used
foo[=bar]
Define INI entry foo with value bar
Generate extended information for debugger/profiler
<file>
Parse <file>.
This help
PHP information
Syntax check only (lint)
Show compiled in modules
<code>
Run PHP <code> without using script tags <?..?>
<begin_code> Run PHP <begin_code> before processing input lines
<code>
Run PHP <code> for every input line
<file>
Parse and execute <file> for every input line
<end_code>
Run PHP <end_code> after processing all input lines
Hide any passed arguments from external tools.
Display colour syntax highlighted source.
Version number
Display source with stripped comments and whitespace.
<file>
Load Zend extension <file>.
Na Linuxu i Unixu PHP skriptove mo`ete koristiti tako {to }ete uneti naziv skripta na
komandnoj liniji. Ovo je mogu}e ako pomo}u linije koja po~inje sa #! uka`ete na mesto
gde se nalazi PHP (i skriptu treba da date dozvolu da se izvrava):
#! /usr/bin/php
<?php
echo "Hello from PHP.";
?>
18
POGLAVLJE 1
Osnove PHP-a
Komentari su skriptovima
Do sada smo na Web stranama koristili ili HTML ili PHP skriptove. Njih treba da ~ita
ra~unar. Postoji i komponenta koja je namenjena situaciji kada ~itanje obavljaju ljudi.
To su komentari.
Komentari su napomene koje dodajete na svoje PHP strane da biste nekom objasnili
{ta se de{ava. Ovo je bitno zato {to se, kada se na duga~ak i slo`en skript vratite posle
du`e vremena, verovatno ne}ete se}ati {ta se u njemu radi. Mo`e se desiti i da svoj
skript date nekom drugom. Tada su potrebni komentari. Pomo}u komentara mo`ete da
opi{ete pona{anje skripta, tako da kasnije lako mo`ete da shvatite o ~emu je re~.
U PHP-u postoje tri tipa komentara. Prva vrsta omogu}ava da pi{ete komentare u
vi{e redova. Ovakvi komentari po~inju sa /* i zavr{avaju se sa */. Evo kako to izgleda:
<?php
/* Start by displaying a
message to the user */
?>
Ovo ne}e da funkcioni{e po{to PHP tra`i oznaku za kraj komentara */; kada je
prona|e, pretpostavlja da je komentar zavr{en. To predstavlja problem, po{to komentar
nije stvarno zavr{en, pa }e PHP zaklju~iti da tamo gde o~ekuje PHP iskaze postoji neki
obi~an tekst.
19
PHP 5
Drugi tip komentara su komentari u jednom redu. Oni sadr`e tekst koji se nalazi
samo u jednom redu. Za po~etak ovakvih komentara mo`ete koristiti // ili #.
<?php
// Start by displaying a
# message to the user
?>
Ovakvi komentari su tako|e korisni, po{to se mogu postaviti u liniju u kojoj postoji
i kod. PHP }e zanemariti sve {to je iza oznake # ili //:
<?php
echo Hello from PHP.;
//Display a message
echo Hello from PHP again!; #Display another message
?>
20
POGLAVLJE 1
Osnove PHP-a
Ovim se samo prikazuje tekst i ni{ta vi{e. Ako bi to bilo sve, PHP ne bi ni bio potreban - isti efekat bi mogao da se postigne kori{}enjem HTML-a. Su{tina PHP-a je u dinami~kom rukovanju podacima. Za tu svrhu se koriste promenljive.
Promenljive su kontejneri podataka. Recimo, na primer, da prodajete {e{ire preko
Weba i da `elite da proverite ukupne zalihe u sva tri magacina, koji se nalaze u ~ikagu,
Tokiju i Parizu. Da biste to uradili, morate da zajedno ubacite tri posebne vrednosti. PHP
ima ugra|enu podr{ku za matemati~ke operacije nad podacima, uklju~uju}i i sabiranje.
Prema tome, da biste sabirali vrednosti, mo`ete da koristite operator +. Slede}i skript,
na primer, {tampa "I have 6 tomatoes" (Imam {est paradajza).
<?php
echo I have , 1 + 2 + 3 , tomatoes;
?>
Primeti}ete da smo ovde koristili brojeve, {to je razli~ito od obi~nog teksta. Po{to
brojevi nisu tekst, nisu pod navodnicima. Rezultat je dobar, ali je jo{ uvek stati~ki, po{to
smo u skript jednostavno stavili 1+2+3. Kako }emo sabrati brojeve koji pokazuju
koli~ine {e{ira u ~ikagu, Tokiju i Parizu?
To je trenutak kada "u igru" ulaze promenljive. U PHP-u one po~inju oznakom za
dolar $. Promenljive mogu da sadr`e podatke; ako u promenljivim pod nazivima
$~ikago, #tokyo i $paris smestite broj {e{ira, evo kako biste mogli da to sabirate u
vreme izvr{enja:
<?php
echo I have , $chicago + $tokyo + $paris , party hats!;
?>
Ispravan naziv promenljive u PHP-u po~inje slovom ili podvlakom, iza ~ega sledi
proizvoljan broj slova, broja ili podvlaka. Naziv mo`e imati proizvoljnu du`inu. Evo
nekih ispravnih naziva promenljivih: $pizza_temperature, $_number_of_tigers,
$planet_number_9.
Kao {to vidite, promenljive se pona{aju kao skladi{te za podatke. Kako }ete te
podatke smestiti u promenljive?
21
PHP 5
Ra~unar interno za skladi{tenje koristi tipove podataka, tako da treba da znate {ta
mo`e da se desi ako podatke nepravilno unesete. Vi{e detalja o tipovima podataka
mo`ete prona}i u odeljku "Rukovanje tipovima podataka" u ovom poglavlju.
Pogledajte primer phpvariables.php, koji smo dali u primeru 1.4. U ovom slu~aju
smo promenljivoj $apples dodelili vrednost 1, a zatim smo prikazali vrednost koja je u
toj promenljivoj.
echo Setting number of apples to 1.<BR>;
$apples = 1;
echo Number of apples: , $apples, <BR>;
.
.
.
Recimo da sada `elite da pove}ate broj jabuka za tri. To mo`ete uraditi ako
vrednosti $apples dodelite trenutnu vrednost $apples, uve}anu za 3, nakon ~ega novi
rezultat treba da se prika`e.
echo Setting number of apples to 1.<BR>;
$apples = 1;
echo Number of apples: , $apples, <BR>;
echo Adding 3 more apples.<BR>;
$apples = $apples + 3;
echo Number of apples now: , $apples, <BR>;
22
POGLAVLJE 1
Osnove PHP-a
<HTML>
<HEAD>
<TITLE>
Assigning values to variables
</TITLE>
</HEAD>
<BODY>
<H1>
Assigning values to variables
</H1>
<?php
echo Setting number of apples to 1.<BR>;
$apples = 1;
echo Number of apples: , $apples, <BR>;
echo Adding 3 more apples.<BR>;
$apples = $apples + 3;
?>
</BODY>
</HTML>
Rezultat je prikazan na slici 1.8. Sada vidite kako se u vreme izvr{enja koristi
matematika, kako se podaci sme{taju u promenljive i kako se manipuli{e podacima.
Slika 1.8
Dodeljivanje vrednosti promenljivim
23
PHP 5
Postoji i lak{i na~in. Vrednosti promenljivih mogu da se ubace u niz karaktera ako ih
stavite u niz karaktera ome|en dvostrukim (ne jednostrukim) navodnicima, {to zna~i
da se njihove vrednosti ubacuju direktno u string. Primenom ove tehnike na{
prethodni primer izgleda ovako:
$apples = 1;
<HTML>
<HEAD>
<TITLE>
Interpolating variables
</TITLE>
</HEAD>
<BODY>
<H1>
Interpolating variables
</H1>
<?php
echo Setting number of apples to 1.<BR>;
?>
</BODY>
</HTML>
$apples = 1;
echo Number of apples: $apples <BR>;
echo Adding 3 more apples.<BR>;
$apples = $apples + 3;
echo Number of apples now: $apples <BR>;
24
POGLAVLJE 1
Osnove PHP-a
Slika 1.9
Ubacivanje vrednosti promenljivih u nizove karaktera
Ovo ubacivanje je brz na~in za prikazivanje sadr`aja promenljive, ali {ta u~initi ako
promenljiva $text sadr`i tekst "news", a Vi `elite da na izlazu dobijete re~ "newspaper"?
Mogli biste da probate slede}e:
<?php
$text = news;
?>
PHP ovo ne}e razumeti, po{to izgleda kao da se koristi promenljiva pod nazivom
$textpaper. Gre{ka koju }ete dobiti je:
PHP Notice: Undefined variable: textpaper in C:\php\t.php on line 4
<HTML>
<HEAD>
<TITLE>
Interpolating variables
</TITLE>
</HEAD>
<BODY>
<H1>
Interpolating variables
</H1>
<?php
$text = news;
echo Wheres the {$text}paper.;
?>
</BODY>
</HTML>
25
PHP 5
Nakon toga, kreirate novu promenljivu, ~iji }e naziv biti $fruitname. U nju }emo
smestiti naziv promenljive $apples.
<?php
$apples = 4;
$fruitname = apples;
.
.
.
?>
<HTML>
<HEAD>
<TITLE>
Using variable variables
</TITLE>
</HEAD>
26
POGLAVLJE 1
Osnove PHP-a
<BODY>
<H1>
Using variable variables
</H1>
<?php
$apples = 4;
$oranges = 3;
$fruitname = oranges;
echo Number of oranges: ${$fruitname} <BR>;
$fruitname = apples;
?>
</BODY>
</HTML>
Slika 1.10
Ubacivanje promenljivih promenljivih
Ako u prethodnom primeru ne biste koristili velike zagrade, dobili biste slede}i
rezultat:
Number of oranges: $oranges <BR>
Number of apples: $apples <BR>
27
PHP 5
Kreiranje konstanti
Ponekad ne}ete `eleti da promenljiva mo`e da se menja - `ele}ete da njena vrednost
bude fiksna. Pretpostavimo, na primer, da imate promenljivu pod nazivom $pip koja
sadr`i vrednost broja pi. Mo`e se desiti da se takva vrednost nenamerno promeni, {to
nije dobro. Re{enje je da se napravi konstanta, ~ija vrednost ne mo`e da se menja.
Konstante se kreiraju pomo}u funkcije define. Konstanti se daju naziv i vrednost koju
`elite da joj dodelite: define ("pi", 3.14159265);. Naziv konstante je uvek pod
navodnicima, dok je vrednost koja se dodeljuje pod navodnicima samo ako je re~ o
stringu (nizu karaktera). Pogledajte datoteku phpconstants.php u primeru 1.8. U ovom
primeru se kreira konstanta pod nazivom pi, posle ~ega se prikazuje. Obratite pa`nju
da, kada koristite konstante, ne koristite prefiks $. Rezultat primera je dat na slici 1.11.
Primer 1.8 Kreiranje konstanti
<HTML>
<HEAD>
<TITLE>
Using PHP constants
</TITLE>
</HEAD>
<BODY>
<H1>
Using PHP constants
</H1>
<?php
define (pi, 3.1415926535);
echo The constant pi holds , pi, <BR>;
?>
</BODY>
</HTML>
Slika 1.11
Upotreba konstanti
28
POGLAVLJE 1
Osnove PHP-a
Ako probate da promenite vrednost ove konstante (na primer, pi = 3.14;), PHP ne}e
to prihvatiti. ^ak se ni skript ne}e pokrenuti.
Poto se ispred konstanti ne stavlja prefiks $, PHP mo`e da se "zbuni" ako za naziv
konstante upotrebite neku od rezervisanih re~i. U listi koja sledi su date klju~ne re~i:
Klju~ne re~i u PHP-u:
__CLASS__
__FILE__
__FUNCTION__
__LINE__
__METHOD__
and
default
endif
global
array
die
endswitch
if
require
as
do
endwhile
include
require_once
break
echo
eval
include_once
return
case
else
exception
isset
static
cfunction
elseif
exit
list
switch
class
empty
extends
new
unset
const
enddeclare
for
old_function
use
continue
endfor
foreach
or
while
declare
endforeach
function
php_user_filter
xor
Pored ovih klju~nih re~i, postoji i odre|eni broj konstanti koje su unapred definisane
i koje mo`ete koristiti u svojim skriptovima. Evo primera:
__LINE__
__FILE__
__FUNCTION__
__CLASS__
__METHOD__
PHP_VERSION
Verzija PHPa
PHP_OS
Operativni sistem
DEFAULT_INCLUDE_PATH
29
PHP 5
float. Sadr`i brojeve sa pokretnim zarezom (tip double), kao {to su 3.14159 ili
2.7218.
Obi~no ne morate da brinete o ovim tipovima podataka, po{to PHP odre|uje tip
promenljive na osnovu podataka koje joj dodelite. Na primer, slede}i iskaz }e
promenljivoj $variable dodeliti tip string:
$variable = "No worries.";
Po{to PHP bira tip podatka na osnovu podatka koji dodelite promenljivoj, ovde nema
problema. Problemi po~inju kada po~nete da me{ate tipove - na primer, kada
promenljivoj $variable dodate vrednost pomo}u operatora + (o njemu }e biti re~i u
Poglavlju 3). Evo nekoliko primera:
<?php
$variable = "0"; // $variable je string pode{en na 0.
$variable = $variable + 2; // $variable je sada ceo broj sa vredno{}u 2.
$variable = $variable + 1.1; // $variable je sada tipa float sa vredno{}u 3.1.
$variable = 2 + "8 apples"; // $variable je sada ceo broj sa vredno{}u 10
?>.
30
POGLAVLJE 1
Osnove PHP-a
Evo nekoliko saveta u vezi sa me{anjem tipova podataka. Kada konvertujete u tip
boolean, smatra se da su vrednosti tipa FALSE (o tome }e biti vi{e re~i kasnije u ovoj
knjizi):
l boolean FALSE
l
integer 0
float 0.0
Svaki drugi tip se smatra da je TRUE (uku~uju}i i resource). Kada konvertujete u tip
integer:
l Boolean FALSE }e dati 0 (nula), a Boolean TRUE }e dati 1 (jedan).
l
Kada konvertujete tip float, konverzija je ista kao kad je vrednost konvertovana u
integer, a onda u float. Konverziju mo`ete da vr{ite i iz integera u numeri~ke tipove, ali
to ponekad mo`e biti komplikovano (vi{e detalja sadr`i Poglavlje 3).
U narednom poglavlju }ete po~eti kontrolu svojih podataka u PHP skriptovima
pomo}u operatora i iskaza za kontrolu toka i petlje, {to je veoma bitno za svakog PHP
programera.
31
PHP 5
Zaklju~ak
PHP omogu}ava da strane "o`ive" na na~in na koji to nije mogu}e sa stati~kim stranama. Evo nekoliko najbitnijih napomena za po~etak.
l
l
l
Svoju instalaciju PHP-a }ete proveriti ako na komandnoj liniji otkucate php -v.
Ako se prika`u informacije o PHP-u, mo`ete da mu pristupite.
U PHP skriptovima se izvr{ni kod nalazi izme|u oznaka <? i ?>. Na istu stranu
mo`ete da ubacite i HTML kod, sve dok je taj kod izvan ovih oznaka.
32