Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Php programski jezik

Sadraj seminara:

1.to je php programski jezik? 3


1.1. Povijest php programskog jezika kako je nastao? 4
1.2. to je potrebno za koritenje php-om? 7
2.Prelaenje u html mode 8
3.Varijable 10
3.1. Prebacivanje tipova varijabli 10
4. Tipovi podataka 11
5. Nizovi 11
6. Operatori 13
7. Kontrolne strukture 14
7.1. Ifelse petlja 14
7.2. While petlja 15
7.3. Dowhile petlja 16
7.4. For petlja 17
7.5. Foreach petlja 18
8. Zato je php tako popularan? 20

2
1. to je php programski jezik?

PHP je open source server-side skriptni jezik koji slui za


programiranje dinamikih web stranica; to znai da se ima
slobodan pristup izvornom kodu koji se moe koristiti, mijenjati i
dalje distribuirati, potpuno besplatno. Kd se moe implementirati
u HTML datoteku ili se moe samostalno izvravati kao binary.

Slika 1. Logo

PHP je jedna od najnaprednijih i najkoritenijih server-side skriptnih tehnologija danas u


upotrebi. On je svojom sintaksom slian mnogim drugim slinim jezicima, ak i ima
istoznane (iste po sintaksi i funkcionalnosti) funkcije kao i neki drugi jezici kao to su C
ili Perl. To znai da jednu radnju moete izvesti koritenjem vie razliitih funkcija.

PHP naravno nije jedini specijalizirani programski jezik za izradu web aplikacija. Osim
njega postoje i :

* JSP - Sun-ova inaica Jave za izradu web aplikacija


* ASP - razvijen od strane Microsofta
* CFM - "ColdFusion" tvrtke Adobe

3
Povijest php programskog jezika kako je nastao?

PHP je nastao iz PHP/FI kojeg je 1995. godine napravio Rasmus Lerdorf, kombinirajui
Perl skripte na svojim osobnim web stranicama. Taj softver je nazvao 'Personal Home
Page Tools / Forms Interpreter'. S vremenom je na to dodavao neke funkcije iz
programskog jezika C za komunikaciju s bazama podataka i publiciranje dinamikih web
stranica. Rasmus je javno objavio kd svog PHP/FI da bi ga svi mogli koristiti, ali i ako
ele sudjelovati u buduem razvoju i poboljanju.

PHP/FI je od poetka imao neke od osnovnih funkcionalnosti PHP-a kojeg poznajemo


dan danas. Koristio je varijable na nain Perla, automatsko interperetiranje varijabli
primljenih iz HTTP formi i omoguavao ukljuivanje HTML sintakse. Sintaksa mu je
bila jako slina Perl-u, uz neto ogranienja i pojednostavljenja, ali i sa dosta
nekonzistetnosti.

Godine 1997. pojavilo se drugo izdanje PHP/FI-a - verzija 2.0, napisano u C-u. Tada ga
je koristila grupa od nekoliko tisua ljudi irom svijeta na oko 50,000 sajtova, to je
otprilike bilo oko 1% Internet domena u tom trenutku. Iako je ve nekoliko ljudi
intenzivno sudjelovalo u razvoju, to je i dalje bio uglavnom one-man projekt. PHP/FI 2.0
je slubeno izdan u studenom 1997. godine, nakon to je dugo bio u beta izdanju.

PHP 3 je prvo izdanje koje slii na ovo dananje, a stvorio ga je dvojac - Andi Gutmans i
Zeev Suraski 1997. godine prepisujui kompletni PHP/FI 2.0 jer ih nije zadovoljavao u
razvoju njihovih e-commerce web aplikacija. Andi, Rasmus i Zeev odluili su suraivati
u zajednikom razvoju PHP 3.0 kao slubenog nasljednika PHP/FI 2.0. Tako je nastao
novi programski jezik nazvan 'PHP' to je danas skraenica od 'Hipertekst Preprocesor'.

Jedna od najveih kvaliteta PHP 3.0 je bila mogunost dodavanja novih funkcionalnosti
(proirenja). Klju uspjeha PHP 3.0 je, dakle, bila mogunost modularnih proirenja,
objektno orjetirana sintaksa i primjenjivost za web programiranje.

Stabilna verzija PHP 3.0 je slubeno izdana u lipnju 1998. godine, nakon otprilike 9
mjeseci testiranja. Tijekom 1998. godine, PHP se iri na desetke tisua korisnika i stotine
tisua web posluitelja zauzimajui pri tome udio od oko 10% svih Internet posluitelja.

Od zime 1998., Gutmans i Zeev Suraski su poeli rad na rekonstrukciji jezgre PHP-a.
Ciljevi su bili poboljati karakteristike kompleksnih aplikacija i jo vie poveati
modularnost PHP-a.

Novi PHP interpreter, nazvan 'Zend Engine' (od Zeev and Andi), postigao je zadane
ciljeve i predstavljen je prvi put sredinom 1999. PHP 4.0, baziran na ovom interpreteru
sa novim proirenjima izdan je slubeno u svibnju 2000, skoro dvije godine nakon pojave
PHP 3.
Osim poboljanja jezgra i novih ekstenzija, znaajne novosti su bile podrka za jo vie
web posluitelja, HTTP sesije, output buffering i sigurniji nain rukovanja korisnikim

4
podacima.

PHP 4 verziju PHP-a koriste stotine tisua programera na skoro 10 milijuna web
posluitelja, odnosno nalazi se na preko 20% Internet domena.

Izala je i nova verzija PHP-a (PHP 5) koja je u potpunosti stabilna. Dolazi sa jo vie
modula za podrku raznim novim tehnologijama (npr. XML), te e omoguava potpuno
objekno orjentirano programiranje (prema uzoru na Javu).

Procjena je da danas PHP koristi vie od 16 milijuna domena.

Graf 1. Koritenje php-om po godinama

Izvor: www.next.hr

5
Slika 2. Shema php-a 14.04.2008

6
1.2 to je potrebno za koritenje php-om?

Slika 3. Instaliranje programa

Potrebno je prvo instalirati program na svoje raunalo.

Tipovi instalacije:

Najvia na popisu je instalacija pomou source kodova.

Druga, puno prihvatljivija i preporuena je instalacija putem InstallShielda. Ovo je


arobnjak koji e vas provesti kroz cijeli proces instalacije i ukoliko pratite upute neete
naii na nikakve probleme. Tijekom arobnjaka moete izabrati standardnu ili naprednu
instalaciju. U standardnoj vas arobnjak nee previe gnjaviti sa pitanjima i instalirat e
PHP na IIS ili PWS server bez problema. U naprednoj instalaciji moete sami izabrati
neke osobine PHp-a. arobnjak e automatski konfigurirati va serverski software i
namjestit e php.ini file koji je potreban za funkcioniranje PHP-a u va system root
direktorij. Oba tipa su provjerena i rezultat je garantiran tako da ovdje neu ulaziti u
detalje.

Trei tip instalacije je putem zip arhive. Ovo je najmoniji tip instalacije. Njime moete
instalirati neke dodatne ekstenzije kao to su GD library (za manipulaciju grafikih
dokumenata) i sline module. Popis ekstenzija koje se nalaze u arhivi nai ete na
slubenom siteu PHP-a na dijelu koji objanjava instalaciju na Win operacijskom
sistemu.

7
2. Prelaenje iz PHP u HTML mode

Vrlo bitna karakteristika PHP-a i bilo kojeg drugog jezika je razdvajanje server side koda
od statikog HTML-a. Tako u PHP-u koritenjem <? I ?> govorimo serveru da se izmeu
njih nalazi PHP kod i da je potrebno prvo njega izvriti i tek nakon toga poslati HTML
output tog koda skupa sa ostatkom statikog HTML koda klijentu. Ovo je osnova server-
client mrene komunikacije putem TCP/IP protokola.
Unutar koda se moemo u bilo kojem trenutku prebaciti iz HTML moda u PHP mode.
ak i unutar if, for i ostalih kontrolnih struktura. Ovo nam omoguuje rad sa templateima
u kojima se na isti nain prikazuju razliiti podatci iste strukture.

Primjer 1.

<html>

<head>

<title>Untitled</title>

</head>

<body>

<?

$ime="Marko";

$prezime="Markic";

?>

<table width="300" border="1" cellspacing="0" cellpadding="0">

<tr>

<td>

<?

echo $ime;

?>

</td>

<td><?=$ime?></td>

8
</tr>

</table>

</body>

</html>

Rezultat gornjeg koda bi izgledao

Marko Marki

Unutar <? i ?> se nalazi php kod koji e se izvriti ukoliko se u njemu ne nalaze neke
sintaktike pogreke. Druga metoda ispisa je izgledala ovako :

<?=$prezime?>

Ovu metodu koristimo kada elimo ispisati neku varijablu ili string. Ova linija je
identina

<? echo $prezime ?>

samo to smo umjesto echo naredbe koristili znak = koji PHP-u govori da ispie ono to
se nalazi izmeu <? i ?> kvaica

3. Varijable

9
Varijable prije svog imena obavezno moraju sadravati znak $. To je nain govorenja
PHP prevoditelju da se radi o varijabli a ne o tekstu. Ukoliko se izostavi aplikacija e
javiti greku ili, u najgorem sluaju, prei preko nje i umjesto sadraja varijable e
ispisati samo njeno ime.

U imenima varijabli ne smiju se koristiti razmaci niti bilo kakvi znakovi osim [ i ] koji se
koriste u nizovima i kod nekih metoda rada sa stringovima. Svi ostali znakovi su
zabranjeni u imenima varijabli. Isto tako, ime varijable ne smije poeti sa brojem, ali ga
moe sadravati na bilo kojoj drugoj poziciji u imenu.

U PHP-u se varijable automatski briu iz memorije kada se trenutna skripta koja ih je


stvorila zavri. Ukoliko se stvarno eli obrisati neka varijabla iz bilo kojeg razloga to se
moe uiniti pomou unset ($varijabla) naredbe-

Validna imena varijabli

$str_ime | $varijabla2 | $niz[1] | $string[0]

Nevalidna imena varijabli

$2varijabla | $var*ijabla | $_var | $var(1)

4. 1. Prebacivanje tipova varijabli

Sadraj bilo koje varijable podloan je izmjeni svog tipa. Znai da nekakav broj moe
vrlo lako postati string i obratno.

Tipove se mogu mijenjati implicitno i eksplicitno

Mogue konverzije su:

(int), (integer) prebaci u integer


(real), (double), (float) prebaci u double (realni broj)
(string) prebaci u string
(array) prebaci u niz
(object) prebaci u objekt

4. Tipovi podataka

10
U PHP-u ne postoje fiksni tipovi podataka. Naime, ne mora se definirati tip varijable prije
njenog koritenja i varijablu se moe deklarirati bilo kada unutar skripte i pridruivati joj
razliite tipove podataka tokom izvoenja skripte. Isto tako moe se mijenjati tip
podataka neke varijable jednog te istog sadraja.

Tipovi podataka koje podrava PHP su:

Cijeli brojevi (integer)


Realni brojevi (floating-point numbers )
Tekstualni podatci (String)
Logike varijable
Nizovi
Objekti

5. Nizovi

PHP podrava vie vrsta nizova. Tekstualne (associative) i cjelobrojne (vectors /


indexed) indexima. Mogu biti jednodimenzionalni ili multidimenzionalni.

Primjer 2. primjer cjelobrojnog jednodimenzionalnog niza

<?

$arr_boje=array('plavo','uto','zeleno');

echo $arr_boje[0]; // ispisat e 'plavo'

echo $arr_boje[2]; // ispisat e 'zeleno'

$arr_boje[3]='crveno'; // dodaje novi element u niz

$arr_boje[2]='ljubiasto'; // mijenja staru vrijednost na indexu 2 - zeleno prelazi u


ljubiasto

$arr_boje[7]='roza' // indexi ne moraju slijediti kronoloki redosljed

// eli li se ispisati sve elemente niza moete se sluiti ovom metodom

foreach ($arr_boje as $int_kljuc => $str_vrijednost){

echo $int_kljuc . " => " . $str_vrijednost . "<br>\n";

11
?>

Rezultat :

plavo
zeleno
________________
0=> plavo
1=> uto
2=> ljubiasto
3=> crveno
7=> roza

Primjer 3: Primjer tekstualnog (associative) niza

<?

// recimo da se eli reproducirati sadraj hladnjaka u niz

$arr_hladnjak=array(

"jaja"=>12,

"paprika"=>6,

"maslac"=>0,

"mlijeko"=>0.5,

"salama"=>"0.2 kg - narezano",

"sir"=>"0.4 kg - u komadu"

);

echo $arr_hladnjak["salama"]."<br>\n"; // ispisalo se koliko salame ima u hladnjaku

12
6. Operatori

Aritmetiki operatori:

Primjer Ime Rezultat


$a + $b Zbrajanje Zbroj od $a i $b.
$a - $b Oduzimanje Razlika od $a i $b.
$a * $b Mnoenje Produkt od $a i $b.
$a / $b Dijeljenje Kvocijent od $a i $b.
$a % $b Modul Ostatak dijeljenja od $a i $b.

Logiki operatori:

$a and $b I True ako su oboje $a i $b true.


$a or $b Ili True ako je $a true ili ako je $b true.
ako je $a true ili ako je $b true, ali ne i ako su oba
$a xor $b Xor
true.
! $a Ne True ako je $a false i obrnuto.
$a &&
I True ako su oboje $a i $b true.
$b
$a || $b Ili True ako je $a true ili ako je $b true.

Operatori usporeivanja

Primjer Ime Rezultat


$a == $b Jednako True ako je $a jednako $b.
$a ===
Identino True ako je $a jednako $b, i ako su istog tipa.
$b
$a != $b Nije jedanko True ako $a nije jednako $b.
True ako $a nije jednako $b, i ako nisu istog
$a !== $b Nije identino
tipa.
$a < $b Manje True ako je $a izriito manje od $b.
$a > $b Vee True ako je $izriito vee od $b.
$a <= $b Manje jednako True ako je $a manje ili jednako $b.
$a >= $b Vee jednako True ako je $a vee ili jednako $b.

13
Operatori uveavanja i smanjivanja

Primjer Ime Efekt


++$a Preduveavanje Uvea $a za jedan, i onda vrati $a.
$a++ Naknadno uveanje Vrati $a, i onda ga uvea za jedan.
--$a Predsmanjenje Umanji $a za jedan, i onda vrati $a.
Naknadno
$a-- Vrati $a, i onda ga umanji za jedan.
smanjenje

7. Kontrolne strukture

Pomou kontrolnih struktura odreujemo tok skripti, odluujemo i raunamo. One su


zaduene za logiku aplikacija.

7.1 If.. else petlja

If.. else je najee koritena kontrolna struktura. Njoj dajemo logiki izraz koji se
provjerava i ovisno o njegovom ishodu koji moe biti true ili false izvrava se blok
naredbi.

<?

If ( uvjet ) {

// naredbe koje se izvravaju ukoliko je uvjet == true

} else {

// naredbe koje se izvravaju ukoliko je uvjet == false

?>

Vitiaste zagrade ( {} ) oznaavaju blok naredbi. Njih moete izostaviti ukoliko grana
ima samo jednu naredbu. Npr

Umjesto else kljune rijei moe se koristiti i elseif kljuna rije. Ona se izvrava ako je
uvjet u if-u rezultirao false. Ona takoer ispituje logiki izraz.

14
<?

If ( uvjet ) {

// naredbe koje se izvravaju ukoliko je uvjet == true

} elseif ( uvjet2 ) {

// naredbe koje se izvravaju ukoliko je uvjet == false i uvjet2==true

} elseif ( uvjet3 ) {

// naredbe koje se izvravaju ukoliko je uvjet == false i uvjet2 == false i uvjet3 == true

} else {

// naredbe koje se izvravaju ukoliko su svi uvjeti == false

?>

7.2. While petlja

While petlja izvrava svoj blok naredbi dokle god je izraz u uvjetu istinit (true). Uvjet se
ispituje prije izvoenja bloka naredbi. Zbog toga je mogue da se blok ne izvri niti
jednom ukoliko je uvjet na poetku false.

<?

while ( uvjet ) {

// naredbe koje se izvravaju dok je uvjet true

?>

15
Primjer 4.

<?

$int_var=10;

while ($int_var<=20){

echo '$int_var = '. ++$int_var. "<br>";

// rezultira sa

// $int_var = 11
// $int_var = 12
// $int_var = 13
// $int_var = 14
// $int_var = 15
// $int_var = 16
// $int_var = 17
// $int_var = 18
// $int_var = 19
// $int_var = 20
// $int_var = 21

?>

7.3. Do while

<?

do {

// naredbe koje se izvravaju dok je uvjet true

} while ( uvjet )

?>

16
7.4. For petlja

For petlja koristi broja petlje koji se prije svakog izvravanja bloka naredbi petlje uvea
ili smanji. For petlju koristite kada znate toan broj potrebnog ponavljanja bloka petlje.
Broja petlje moe biti bilo koja ve postojea varijabla ili moete stvoriti novu varijablu
za potrebe petlje. Ukoliko se rabi drugi tip uobiajena imena takvih varijabli su $i, $j, $k.

<?

for ($i=0;$i (operator uspureivanja) (vrijednost sa kojom usporeujete); (operator


uveanja ili smanjenja){

// naredbe koje se izvraavaju svki put dok je uvijet jednak true

?>

Primjer 5.

for ($i=10;$i>=0;$i--){

echo '$i = ' . $i . '<br>';

// to rezultira

// $i = 10
// $i = 9
// $i = 8
// $i = 7
// $i = 6
// $i = 5
// $i = 4
// $i = 3
// $i = 2
// $i = 1
// $i = 0

17
7.5. Foreach petlja

Foreach petlja se koristi za rad sa nizovima. Ona prolazi kroz svaki element danog niza i
obavlja blok naredbi. Moe spremiti klju i vrijednost svakog elementa niza u posebne
varijable u kojim se za svako ponavljanje petlje nalaze klju i vrijednost elementa niza na
kojem se trenutno nalazi nutarnji pokaziva. Nutarnji pokaziva se prije ulaska u petlju
nalazi na 0 i svakim novim krugom u petlji poveava se za 1. Novim zvanjem foreach
petlje nutarnji pokaziva se resetira. Petlja se vrti sve dok ne ostane bez elemenata niza.

<?

// openito

foreach ($neki_niz as $vrijednost){

// naredbe koje se izvravaju za svaki element niza

// ili

foreach ($neki niz as $kljuc => $vrijednost){

// naredbe koje se izvravaju za svaki element niza

Primjer 6.

$arr_hladnjak=array(

"jaja"=>12,

"paprika"=>6,

"maslac"=>0,

"mlijeko"=>0.5,

"salama"=>"0.2 kg - narezano",

"sir"=>"0.4 kg - u komadu"

);

18
foreach ($arr_hladnjak as $kljuc => $vrijednost){

echo "$kljuc => $vrijednost <br>";

// rezultira

// jaja => 12
// paprika => 6
// maslac => 0
// mlijeko => 0.5
// salama => 0.2 kg - narezano
// sir => 0.4 kg - u komadu

19
Zato je PHP tako popularan ?

Ono to PHP stavlja jo vie ispred ostalih web skriptnih tehnologija je njegova podrka
za baratanje irokom paletom baza podataka. Podrava sve popularnije baze podatak kao
MySQL, PostgreSQL, dBase, Oracle, ODBC

Isto tako njegova neovisnost o operacijskom sustavu i pristupane cijene (besplatan je) ga
ini meu prvim izborom velikih i malih kompanija za izradu vlastitih mrenih sustava.

Neke od karakteristika :

PHP je besplatan
Jednostavan za uenje
neovisan o OS-u i web posluitelju
pravi programski jezik (nema tagova)
stabilan je
brz je
PHP je open source
omoguava jednostavnu komunikaciju s ostalim programima i protokolima
podrava ekstenzije

Jedna od velikih prednosti PHP-a nad ostalim jezicima je ta to podrava gotovo sve
najkoritenije baze podataka; trenutano mogue je koristiti slijedee baze podataka:

Adabas D Ingres Oracle (OCI7 and OCI8)


dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm

PHP podrava i ODBC (Open Database Connectivity) standard pa je mogue raditi s


bilo kojom bazom podataka koja podrava taj standrad
podrana je i komunikacija s ostalim servisima koritenjem protokola kao to su
LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM(Windows) i mnogi drugi
PHP podrava WDDX razmjenu kompleksnih podataka sa svim ostalim programskim
jezicima za Web; mogue je koristiti i Java objekte kao svoje te ostale remote objekte
putem CORBA ekstenzija (Common Object Request Broker Architecture) koje

20
omoguuju komunikaciju s distribuiranim OO aplikacijama neovisno o OS-u ili
hardverskoj podrci
PHP podrava XML (eXtensible Markup Language)
ako se koristi za izradu e-bussines web siteova mogu se upotrijebiti Cybercash
Payment, CyberMUT, VeriSign Payflow Pro i CCVS funkcije
postoje jo mnoge podrke za razliite namjene

No osim brojnih prednosti ovaj jezik ima i neke nedostatke:

u PHP-u deklaracija varijabli nije obavezna, to moe biti izvor raznih greaka i
sigurnosnih propusta
ugraene funkcije nisu dosljedne po pitanju njihovog nazivlja ni po pitanju
redosljeda argumenata meu slinim funkcijama (primjer nazivanja: strip_tags i
html_entity_decode nasuprot stripslashes, htmlentities)
funkcije nisu dosljedne u vraanju rezultata - false, ali mogu vratiti i 0 ili ""
broj ugraenih funkcija je velik (preko 3000) pa to oteava razvoj pogotovo jer
dijele isti namespace
opcija "magic quotes" koja dodaje backslasheve u stringove se moe ukljuiti ili
iskljuiti u konfiguraciji pa kad se programeri oslanjaju na nju moe biti
problema na sistemima gdje je iskljuena
opcija "register_globals" automatski kreira varijable iz obrazaca pa to moe
postati sigurnosni rizik
konfigurabilnost PHP-a koja je istovremeno i prednost i nedostatak jer jedna
skripte na jednom serveru moe raditi dok na dugom ne
Stabilnost PHP-a mnogo ovisi o vanjskim bibliotekama funkcija

PHP je odnio pobjedu za 2004-u godinu kao najpopularniji programski jezik. Tvrtka
Tiobe Software objavila je rezultate (slika 3)najpopularnijih trailica na internetu,
Google-a, MSN-a i Yahoo!-a po kojima je php uvjerljivo ispred svih ostalih.

TIOBE Programming Community pokazuje popularnost pojedinog programskog jezika.


Nije rije o izboru najboljeg programskog jezika ili jezika u kojem je najvie linija koda
napisano ve jednostavno prikaz popularnosti pojedinog.

Slika 3.

Izvor: www.next.hr

21
Literatura:

http://php.com.hr/
www.php.hr
www.next.hr

22

You might also like