Lepo pozdravljeni v spletnem PHP krožku. Sem Marko Štamcar in bom vaš gostitelj za naslednjih nekaj tednov.
Kot že verjetno veš, je PHP spletni programski jezik, s katerim na zaslon uporabnika izpisujemo (X)HTML kodo. Seveda se PHPja poslužimo takrat, ko želim uporabniku prikazati dinamične podatke, saj za izpis statičnih (X)HTML popolnoma zadostuje. Za ta krožek se predvideva, da znaš osnove HTMLja. Če jih še ne, si poglej članek tukaj.
Da bi PHP deloval, potrebujemo spletni strežnik, ki je sposoben njegovo izvorno kodo spremeniti v HTML izpis.
Na strežnik naložimo datoteko s PHP kodo, ki se nato, ko jo uporabnik pokliče prek spletnega brskalnika, s pomočjo PHP parserja spremeni v HTML.
V našem krožku bomo uporabljali XAMPP, da ne bo prihajalo do zapletov, bo to edini podprti spletni strežnik, zato ga obvezno namesti po spodnjih navodilih.
1. Klikni tukaj za prenos 30 MB velike namestitvene datoteke.
2. Po prenosu datoteko zaženi in parkrat klikni Next, nato pa Install.
3. Strežnik se sedaj namesti v mapo C:\Program Files\xampp.
4. Na koncu namestitve klikni Finish in ob vprašanju

klikni No (Ne) ter ob naslednjem vprašanju še enkrat.
5. Sedaj se odpravi v mapo C:\Program Files\xampp\htdocs in iz nje pobriši vse datoteke in mape.
6. Spletni strežnik bomo sedaj ročno pognali. Pojdi v mapo C:\Program Files\xampp in dvoklikni datoteko apache_start.bat.

Prikaže se takšno okno.
To okno minimiziraj, saj mora ostati odprto, da naš strežnik deluje. Ko končaš z delom, ga lahko zapreš.
7. Sedaj bomo preverili, če je tvoj spletni strežnik pravilno postavljen. Klikni na spodnjo povezavo in se prepričaj,
da se ti je odprla takšna stran:

Klikni ta link in se prepričaj: http://localhost/
Če ti brskalnik javi napako, še enkrat natančno preleti vseh 7 točk.
Če se izpis ujema s tem na sliki, si uspešno namestil strežnik, čestitamo.
Prek naslova http://localhost/ bomo sedaj vedno dostopali do strežnika, zato si ga kar zapomni.
V mapo C:\Program Files\xampp\htdocs lahko sedaj damo svoje PHP programčke. PHP skripte imajo
običajno končnico .php.
Postopek ustvarjanja naše prve PHP skripte:
V mapi C:\Program Files\xampp\htdocs klikni z desno miškino tipko in izberi New (Nov) -> Text document (Dokument z besedilom).
Sistem ti sedaj ponudi možnost izbire imena datoteke - natipkaj: index.php, pritisni tipko enter in klikni Yes (Da), ko te sistem vpraša,
če želiš spremeniti končnico datoteke.
Datoteko index.php sedaj dvakrat klikni in jo odpri z beležnico.
Vanjo napiši svoje ime in jo shrani. Klikni tale link in se prepričaj, da se je na strani izpisalo tvoje ime: http://localhost/
Sedaj pa zares v PHP!
HTML in PHP koda lahko "živita" v isti datoteki, PHP kodo pa označimo s posebnima oznakama, <?php (začetek bloka PHP kode) in ?> (konec bloka PHP kode).
Poglejmo si primer:
<html>
<body>
blabla
<?php
// tukaj je PHP koda
?>
blabla
<?php
/* tukaj je še
malo PHP kode */
?>
blabla <?php // tukaj je PHP koda kar v isti vrstici kot HTML ?>
<body>
</html>
Sedaj bomo v index.php napisali svoj prvi PHP program. Sešteli bomo dve števili. Zamisli si ju. Recimo: 5 in 10.
V datoteko napiši
<?php
pri čemer lahko števili 5 in 10 zamenjaš s svojima poljubnima. Klikni ta link: http://localhost/.
print 5+10;
?>
Če je vse pravilno deluje, boš zagledal seštevek teh dveh števil.
Sedaj si oglejmo, kaj se je pravzaprav zgodilo:
Naš program je sestavljen iz 3 vrstic, pri čemer 1. in 3. nakazujeta, kje se PHP koda začne in kje konča. V 2. vrstici
najdemo 3 elemente PHPja:
print <- ukaz, s katerim nekaj izpišemo. Brez tega ukaza uporabnik ne dobi povratne informacije. Namesto ukaza print se včasih uporablja tudi ukaz echo, njuna funkcionalnost pa je zelo podobna.
5+10 <- izraz, v tem primeru vsota dveh števil (15) - ta izraz se posreduje ukazu print.
; <- na koncu ukaza se vedno nahaja podpičje, saj s tem PHPju povemo, kje se nek ukaz začne in kje konča.
Seveda lahko namesto števil izpisujemo tudi besede. Preizkusi naslednjo kodo:
<?php
print "Hojla!";
?>
Kot lahko opaziš, smo besedo Hojla! zapisali v narekovajih. Tako se beseda loči od samih ukazov.
Pomembno: Številke lahko zapišeš v narekovajih ali brez njih, besede / stavkih / črke pa morajo biti vedno napisane v narekovajih.
Pa izpis 5+10 "polepšajmo" in uporabimo dva ukaza print:
<?php
print "Vsota 5 in 10 je ";
print 5+10;
?>
Na zaslon se bo sedaj izpisalo Vsota 5 in 10 je 15. Bodi pozoren na presledek za besedico "je" za lepši izpis.
Primer izpisa z vstavljeno HTML kodo:
<?php
print "Vsota 5 in 10 je<br />";
print 5+10;
?>
Sedaj bomo na zaslonu zagledali nekaj takega:
Vsota 5 in 10 je
15
Dobro, sedaj znamo izpisovati stvari na zaslon. Pogljemo si še, kako bi (čeprav je v tem primeru nesmiselno) izpisali več ločenih nizov:
<?php
print "String 1" . "String 2" . "String 3";
?>
Na ta način (s .) lahko združujemo izraze, izpise funkcij in še kaj. Če bi želeli npr. izpisati trenutni datum, bi uporabili to kodo:
<?php
print "Trenutni datum in čas: " . date("r");
?>
Tukaj smo poklicali funkcijo z imenom date, ki nam je izpisala privzeto datum in čas po RFC 2822 standardu. Več o funkcijah boš izvedel kasneje v krožku, zato se zaenkrat s tem še ne obremenjuj.
Sedaj že znamo na zaslon izpisati besedilo, je pa dobro vedeti, kako PHP javlja napake, če se zmotimo pri tipkanju kode.
V datoteko index.php zapišite tole in obiščite http://localhost/:
<?php
print "Vsota 5 in 10 je "
print 5+10;
?>
Izpiše se obvestilo o napaki - Parse error: syntax error, unexpected T_PRINT in C:\Program Files\xampp\htdocs\index.php on line 3. Na koncu sporočila
lahko vidimo, v kateri vrstici je do napake prišlo, iz samega sporočila pa lahko razberemo, kaj je šlo narobe.
V tem primeru smo izpustili eno podpičje (na koncu 2. vrstice), kar
je prevajalnik razumel, kot da se v 3. vrstici nadaljuje ukaz iz 2. vrstice, kar seveda ne drži.
V programu si morda želimo kakšno vrednost (npr. besedo ali število) zapomniti ter jo kasneje ponovno uporabiti. Take vrednosti shranimo v spremenljivke (ang. variables).
Spremenljivkam moramo pred začetkom uporabe prirediti vrednost, kasneje lahko na isti način spremenljivkam vrednost spremenimo, če pa jih pokličemo po imenu, lahko njihovo vrednost nekje uporabimo.
Par primerov iz resničnega življenja in njihove ustrezne različice v PHPju:
Moja starost je 19: $starost = 19;
Moje ime je Marko: $ime = "Marko";
Danes sem vesel: $vesel = true;
Kot lahko vidiš, se spremenljivke začnejo z znakom za dolar ($), vrednost pa jim priredimo z enačajem (=).
Primer prireditve vrednosti spremenljivki in izpisa te vrednosti:
<?php
$stevilo = 12;
print $stevilo;
?>
V 2. vrstici smo spremenljivki z imenom stevilo priredili vrednost 12, v 3. vrstici pa smo jo nato z ukazom print izpisali v spletno stran.
Program se vedno izvaja od zgoraj navzdol. Poizkusi napovedati, kaj se bo izpisalo na zaslonu:
<?php
$ime = "Marko";
$ime = "Klemen";
$ime = "Peter";
print $ime;
?>
Pravilni odgovor je seveda - Peter. Najprej smo ustvarili spremenljivko z imenom ime in ji določili začetno vrednost Marko (bodi pozoren na narekovaje okrog besede!), nato pa smo vrednost spremenili na Klemen in nazadnje še na Peter. Vedno lahko dostopamo samo do zadnje nastavljene vrednosti.
Na tem mestu omenimo še en podatkovni tip - boolean, ki smo ga uporabili pri primeru "Danes sem vesel". Uporablja se povsod v programiranju, čeprav morda na prvi pogled ne izgleda tako.
Ta podatkovni tip - z razliko od drugih - ima samo dve možni vrednosti: true in false. Z njim lahko določimo, da naj bo neka izjava resnična ali nesresnična. Več o tem enkrat drugič.
Oglejmo si še en preprost matematičen primer:
<?php
$a = 15;
$b = 30;
$c = $a * $b;
print $c;
?>
V spremenljivki z imenoma a in b smo dali vrednosti 15 in 30, nato pa smo v spremenljivko z imenom c dali njun produkt (produkt se označi z zvezdico). Ko to na koncu izpišemo na zaslon, dobimo izpis "450".
Poizkusi namesto zvezdice (znak za množenje) uporabiti poševnico (/ - znak za deljenje).
Sedaj lahko uporabimo znanje združevanja nizov od prej in produkt dveh števil izpišemo na lepši način. Poleg tega bom tukaj prikazal bolj zgoščen način zapisa: (spremenljivki a in b nastavimo v eni sami vrstici)
<?php
$a = 15; $b = 30;
$c = $a * $b;
print $a . " krat " . $b . " je " . $c;
?>
Prepričaj se, da razumeš, kako se s to kodo na zaslon izpiše 15 krat 30 je 450.
Druga možnost pa je, da imena spremenljivk vključimo kar med narekovaje skupaj z drugimi besedami. Tukaj imamo dve možnosti:
1. možnost:
<?php
$a = 15; $b = 30;
$c = $a * $b;
print "$a krat $b je $c";
?>
2. možnost:
<?php
$a = 15; $b = 30;
$c = $a * $b;
print "{$a} krat {$b} je {$c}";
?>
Pri drugi varianti smo uporabili še zavite oklepaje ({ in }), s katerimi nakažemo, da gre za spremenljivko (včasih je to bolje), pri prvi pa smo uporabili preprostejši način.
To je vse za ta teden. Sedaj znamo: izpisovati besede / stavke, števila in preproste matematične izračune ter spremenljivkam prirediti njihove vrednost in jih izpisovati.
Ne pozabi si pogledati in narediti domače naloge! Brez muje se še čevelj ne obuje, pravijo.