210 likes | 330 Views
PHP. Roko Končurat. Što je PHP?. PHP doslovno znači: Hypertext Preprocessor. PHP je HTML-embadded i server-side skriptni jezik. Jedan od najpopularnijih skriptnih jezika, velikih mogućnosti, za pisanje web aplikacija. Jednostavnije pisanje koda nego kod drugih jezika (Perl, C++,…).
E N D
PHP Roko Končurat
Što je PHP? • PHP doslovno znači: Hypertext Preprocessor. • PHP je HTML-embadded i server-side skriptni jezik. • Jedan od najpopularnijih skriptnih jezika, velikih mogućnosti, za pisanje web aplikacija. • Jednostavnije pisanje koda nego kod drugih jezika (Perl, C++,…).
Primjer ugrađenog HTML koda: <html><head><title>Primjer ugradenog koda</title></head><body><?php echo "Ja sam PHP skripta i izvršavam se na serveru !"; ?></body> </html>
Osnove sintakse • 4 načina ugradnje PHP koda u HTML: 1.način <? echo ("Ovo je najjednostavniji nacin\n"); ?> 2.način <?php echo("Ako zelite posluzivati XHTML ili XML dokumente, onda ovako...\n"); ?>
3.način <script language="php"> echo ("neki editori ne vole bas procesirati instrukcije (npr. Frontpage)"); </script> 4.način <% echo ("Ako je omoguceno koristenje ASP tagova, onda mozete i ovako"); %> • Najčešće korišteni je 2. način jer omogućuje lagano implementiranje novih generacija XHTML-a PHP kodom.
Instrukcije se u PHP-u odvajaju točka-zarezom “;”. • Prije završnog tag-a (?>) točka-zarez nije potreban. • PHP podržava 3 različita tipa komentiranja: <?php echo "This is a test"; // Ovo je C++ like komentar do kraja linije /* Ovo je komentar koji seproteže kroz više redaka */ echo "This is yet another test"; echo "One Final Test"; # Ovo je Unix shell style komentar ?>
Podržani tipovi • array (polje) • floating-point numbers (realni brojevi) • integer (cijeli brojevi) • string (znakovni niz) • object (iz ovog tipa se izvode svi tipovi) • settype()
array jednodimenzionalna (skalarna i asocijativna) $a[0] = "abc"; višedimenzionalna $a["foo"][4]["bar"][0] = $f; # four dimensional! • floating-point numbers $a = 1.2e3; Najčešći format je IEEE 64 bita. Sortiranje • integer $a = 1234; # decimal number Veličina integera ovisi o platformi na kojoj se program izvodi.
string Ako se string nalazi unutar dvostrukih navodnika (“), varijable unutar stringa će se koristiti. Kada je string unutar jednostrukih navodnika varijable unutar stringa se ne koriste, već su dio teksta. $str = "This is a string"; Escape znakovi: \n, \r, \t, \\, \$, \“, string unutar jednostrukih navodnika razumije samo \\ i \” escape znakove. Brojčano indeksirano polje znakova. Konkatenacija (“.”).
Varijable • Varijable u PHP-u su označene dolar-znakom ($) iza čega slijedi ime varijable. • Ispravno ime varijable počinje s podvlakom (_) ili slovom, a iza toga se mogu nalaziti slova, podvlake i brojevi. • PHP pruža velik broj predefiniranih varijabli koje može koristiti svaka pokrenuta skripta. • Doseg varijable u PHP-u je kontekst u kojem je varijabla definirana. • Najčešće sve varijable imaju jedan doseg koji uključuje i includane file-ove i cijelu .php skriptu.
Kod korisnički definiranih funkcija, doseg bilo koje varijable definirane unutar funkcije je ograničen samo na tu funkciju, također varijable definirane izvan funkcije ne vrijede u funkciji. • HTML forme (GET i POST varijable): varijable izvan PHP-a • U PHP-u se konstante definiraju pomoću funkcije define() define("CONSTANT", "Hello world.") • Unaprijed definirane konstante.
Primjer varijable: $var1 = "Bob";$var2 = "Joe";echo "$var, $Var"; // outputs "Bob, Joe" • U PHP-u 3 varijablama su uvijek pridružene vrijednosti. To znači npr, ako napišemo $var1=$var2 i poslije promijenimo vrijednost varijabli $var2, to neće utjecati na varijablu $var1. • PHP 4: assign by reference
Klase i objekti • Klasa je skup varijabli i funkcija koje rade s tim varijablama.class Kosarica { var $artikli; function dodaj_artikl ($sifArtikla, $broj) { $this->artikli[$sifArtikla] += $broj; } … function … }
Klase su tipovi, odnosno one su predložak za stvarne varijable. • Da bi kreirali varijablu tipa neke klase potrebno je koristiti operator new $moja_kosara = new Kosarica;$moja_kosara->dodaj_artikl("200342",5) • Klase mogu biti proširena verzija osnovne klase (ključna riječ extands) • U PHP-u ne postoji mogućnost višestrukog naslijeđivanja
Kontrolne strukture • IF if ($a > $b) {print "a je veci nego b";$b = $a;} • ELSE if ($a > $b) { print "a je veci b";} else { print "a NIJE veci od b";}
ELSEIF if ($a > $b) { print "a je veci od b";} elseif ($a == $b) { print "a je jednak b";} else { print "a je manji od b"; • WHILE $i = 1;while ($i <= 10) { print $i++; //uvecanje se izvodi tek nakon ispisa}
DO…WHILE Neovisno da li je uvijet ispunjen ili ne, petlja će se sigrno izvršiti jednom. $i = 0;do { print $i;} while ($i>0); • FOR Najsloženija petlja u PHP-u. for (expr1; expr2; expr3) {statement1; …statementN;}
FOREACH Petlja se vrti kroz polje array_expression i u svakoj iteraciji vrijednost elementa polja stavlja u $value varijablu. foreach(array_expression as $value) statement • BREAK Prekida izvođenje trenutne for, while ili switch strukture. • CONTINUE Preskakanje ostatka trenutne iteracije petlje i nastavljanje na početku nove iteracije.
SWITCH Koristi se kada se želi varijablu usporediti s puno vrijednosti i ovisno o odgovarajućoj vrijednosti, poduzeti odgovarajuće akcije. Stavlja se break na kraju svakog case bloka. Poseban slučaj case-a: default
Primjer SWITCH petlje: switch ($i) { case 0: print "i equals 0"; break; case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; default: print "i is not equal to 0, 1 or 2";}
I što s tim? • Jedan od najboljih izbora za izradu web aplikacija. • Uči se vrlo brzo i jednostavan je za primjenu. • Slabost mu je nepostojanje ozbiljnog alata za izradu php stranica (Notepad). • Konkurecija Microsoft ASP.NET • Besplatan je. • U kombinaciji s besplatnim mySQL alatom za baze podataka služi za izradu vrlo moćnih web aplikacija.