1 / 221

Internet programiranje PHP

Internet programiranje PHP. Uvod. HTML i JavaScript se izvr šavaju na klijentskoj strani, odnosno na korisničkom računaru P HP je jedan od programskih jezika za izradu dinamičkih veb strana koji se izvršava na serverskoj strani PHP može da memoriše podatke i koristi ih u kasnijem trenutku.

lowri
Télécharger la présentation

Internet programiranje PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet programiranje PHP

  2. Uvod • HTML i JavaScript se izvršavaju na klijentskoj strani, odnosno na korisničkom računaru • PHP je jedan od programskih jezika za izradu dinamičkih veb strana koji se izvršava na serverskoj strani • PHP može da memoriše podatke i koristi ih u kasnijem trenutku

  3. Istorija • 1995 - PHP (Personal Home Page) jezik je započeo Rasmus Lerdorf za potrebe lične veb strane 1995. • 1999 - Zeev Suraski i Andi Gutmans su dalje razvili PHP 3 (PHP Hypertext Preprocessor) i Zend kompajler kao osnovu za PHP 4. • 2004 - PHP 5 uključuje i objektno programiranje. • Trenutno se radi na PHP 6

  4. Alternative PHP-u • Alternative • Python • Perl • ASP – Active Server Pages • JSP – Java Server Pages • LAMP – Linux Apache MySQL PHP (Python, Perl) • WAMP – Windows Apache MySQL PHP (Python, Perl)

  5. Popularnost • Na tržištu više od 50% veb servera su tipa Apache • Najpopularniji programski jezik za dinamičko programiranje veb strana na serverima Apache je PHP • PHP je uopšte jedan od najpopularnijih programskih jezika • PHP koriste wikipedia.org, yahoo.com, facebook.com itd.

  6. Popularnost (langpop.com)

  7. Reference • Nije standard • www.php.net • Jason Gilmore, Beginning PHP and MySQL: From Novice to Professional, Third Edition (Beginning from Novice to Professional), Apress, March 2008. • Luke Welling, and Laura Thomson PHP and MySQL Web Development (4th Edition) (Developer's Library), Addison-Wesley Professional, October 2008. • www uopšte

  8. Instalacija WAMP servera • WAMP server se može naći na: http://www.wampserver.com/en/ • Instalacija je jednostavna. • Pre instalacije idite na skype > tools > options > advanced > connection i isključite port 80. Zatim zatvorite Skype. • Kada je WAMP instaliran, možete otvoriti Skype.

  9. Konfiguracija servera • Konfiguracija Apache servera se obavlja u okviru fajla: wamp\bin\apache\apache2.2.22\conf\ httpd.conf • Konfiguracija PHP kompajlera se obavlja u okviru fajla wamp\bin\php\php5.4.3\php.ini • Kada se promenikonfiguracija, klikne se naWampikonicu, pa na Restart

  10. Osobine • Platformski neutralan • Sličan C-u od koga je nastao • Integrisanost sa (X)HTML-om • Nestruktuiran i nekonzistentan

  11. Generalije • Komande se završavaju ; • Ključne reči (komande), imena funkcija i klasa nisu osetljiva na veličinu slova (case insensitive), dok imena promenljivih jesu. Npr. promenljiva $txt se razlikuje od promenljive $TXT, dok su funkcije sort i SORT iste.

  12. Zašta se koristi PHP? • Omogućava dinamički HTML sadržaj • Vrši obrade na serveru, npr. prikuplja statistike o posećenosti • Obrađuje podatke iz formulara • Povezuje korisnike sa bazama podataka na serveru • Implementira autentifikaciju i zaštitu komunikacije

  13. 1. Osnove PHP-a • Tag • Komentari • Prikaz • Promenljive i njihovi tipovi • Operatori • Funkcije • Objekti

  14. Izvršavanje koda • U okviru HTML koda: <script type=“php"> ...PHP kod… </script> • Ili u eksternom fajlu: <script type=“php" src="phpkod.php"> </script> • Ali češće se koristi uprošćena sintaksa <?php...PHP kod…?> • odnosno <?phpinclude(“phpkod.php”) ?>

  15. Direktorijum php fajlova • U konfiguracionom fajlu Apache servera, httpd.conf, se određuje glavni direktorijum u kome su php fajlovi. • Kada su Apache, php, i MySQL baza posebno konfigurisani: U fajlu httpd Apache servera je određen defolt direktorijum za dokumente sledećom naredbom: DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs“ • To znači da su fajlovi u direktorijumu: C:\Program Files\Apache Software Foundation\Apache2.2\htdocs

  16. Direktorijum php fajlova • U konfiguracionom fajlu Apache servera, httpd.conf, se određuje glavni direktorijum u kome su php fajlovi. • Kada je instaliran WAMP, onda je defolt direktorijum sledeći DocumentRoot "C:/Program Files/wamp/www“ • To znači da su fajlovi u direktorijumu: C:\Program Files\wamp\www • Drugi direktorijumi mogu da se odrede ili relativno u odnosu na defolt direktorijum ili pomoću aliasa, npr: Alias /slike /ftp/pub/slike

  17. XHTML fajlovi sa php kodom • Ako želimo da koristimo php kod u fajlu sa .html ekstenzijom, u httpd fajlu Apache servera treba ubaciti liniju AddType application/x-httpd-php .html

  18. Pozivanje php ili html fajlova • Pomoću URL adrese localhost/proba/proba.php • Fajl proba.php je u direktorijumu wamp\www\proba

  19. Komentari • Za komentar jedne linije - oznaka // ili # : // komentar u jednoj liniji ... • Za komentar više redova - /* za početak bloka pod komentarom i */ za kraj bloka pod komentarom: /* Komentar u više redova... Drugi red komentara… */

  20. Prikaz – echo, print • Primer: <?php echo “<b>Prvi red</b><br /><i>Drugi red</i>”; ?> • Ili: <?php echo “<b>Prvi red</b><br />”,”<i>Drugi red</i>”; ?> • Rezultat oba primera: Prvi red Drugi red

  21. Mogućnosti umetanja PHP koda • Može: <?phpif ($expression) {     ?>    <strong>This is true.</strong> <?php } else {     ?>    <strong>This is false.</strong>  <?php }?> • Preporučivo: <?phpif ($expression) { echo “<strong>This is true.</strong>”;}  else {     echo “<strong>This is false.</strong>”;   } ?>

  22. Promenljive • Sadrže vrednosti koje program smešta u okviru memorije računara • Promenljivoj se dodeljuje: • željeno ime • vrednost • Tip promenljive ne mora da se specificira, određuje ga vrednost promenljive

  23. Imena promenljivih • Sve promenljive počinju sa $ • Drugi znak je slovo ili _

  24. Tipovi podataka • Skalarni • boolean – logički tip • integer – celobrojni tip • float – racionalni tip • string – znakovni niz • Složeni • array - niz • object - objekat • Specijalni • resource - resurs • Null - ništa

  25. Skalarni tipovi podataka • Logički tip uzima vrednosti TRUE ili FALSE • Celobrojni tip može biti decimalni, oktalni (počinje sa 0) ili heksadecimalni (počinje sa 0x). Max vrednost zavisi od sistema a može da se odredi konstantnom PHP_INT_MAX • Racionalni tip ima razne oblike, npr. <?php$a = 1.234; $b = 1.2e3; $c = 7E-10;?>

  26. Znakovni niz - string • Mogu biti pod apostrofima (‘ab’) ili navodnicima (“ab”) • Kada se koriste apostrofi navodnici se koriste za navodnike u tekstu i obrnuto. Apostrof unutar apostrofa \’, slično za navodnike. • Za duži tekst pod navodnicima, može se koristiti <<< sa nekom promenljivom koja razgraničava tekst(nema razmaka posle EOT): $s=<<<EOT Text EOT; • Za duži tekst podapostrofima $s=<<<‘EOD’ Text EOD; • Primer: echo <<<EOT Primer “dužeg” znakovnog niza koji može zauzimati i “velikibroj redova” i ‘puno’ navodnika itd. EOT;

  27. String - primeri • Primer: <?php $foo = "foobar";$a=2; echo ‘foo je $foo <br />’; echo “foo je $foo <br />”; Echo ‘a je $a <br />’; Echo “a je $a <br />”; ?> • Rezultat: foo je $foo foo je foobar a je $a a je 2

  28. Niz - array • Sintaksa definisanja niza ImeNiza=array([indeks1=>]vrednost1, …) • Indeksi mogu biti celi brojevi ili stringovi. Indeksi koji nisu specificirani uzimaju vrednosti redom 0,1,2,... • Primer <?php $niz=array("Aleks" => "9", "Sanja" =>8 , "Mirko" =>6); echo $niz['Aleks'], "<br />"; echo “{$niz['Aleks']} <br />"; echo $niz["Sanja"]; ?> • Rezultat: 9 9 8

  29. Multidimenzionalni nizovi • Primer: $familije=array (“Simić”=> array(“Branka”,”Dejan”), ”Brusin”=> array(“Mića”,”Maja”,”Marija”));

  30. Objekat - object • Objekti su slični kao kod JavaScript-a, ali se sintaksa razlikuje • Objekti se definišu klasama kojima pripadaju • Klase imaju definisane atribute i metode • Promenljive objekti se dobijaju instanciranjem klase

  31. Resurs - resource • Promenljive tipa resurs su pokazivači na složene eksterne promenljive • Primer su pokazivač na otvoren fajl ili na vezu sa bazom podataka • Promenljive tipa resurs se generišu različitim funkcijama u zavisnosti od primene • Kompajler automatski briše promenljive tipa resurs koje ne pokazuju na neki resurs

  32. NULL vrednost • VrednostNULLje • tip podataka/vrednost koja se može dodeliti promenljivoj • Pokazuje da promenljiva ne sadrži nikakvu korisnu vrednost • Promenljiva sa vrednošću NULLima takvu dodeljenu vrednost • Vrednost “null” se dodeljuje promenljivoj kada se želi definisati da promenljiva ne sadrži nikakav podatak

  33. Operatori • Aritmetički • Na nivou bita • Relacioni • Logički

  34. Aritmetički operatori

  35. Aritmetički operatori $a = 1 + 1; $b = $a * 3; $c = $b / 4; $d = $b – $a; $e = -$d; $f = ($g = 4) + 5; echo “a, b, c, d, e, f, g su” , “ ”,$a, “ ” ,$b, “ ”,$c, “ ”,$d, “ ”,$e, “ ”, $f, “ ”,$g; • Nakon izvršavanja prethodnog primera dobija se sledeći tekst na ekranu: a, b, c, d, e, su 2 6 1.5 4 -4 9 4

  36. Na nivou bita

  37. Na nivou bita • 15 & 9 rezultat 9 (1111 & 1001 = 1001) • 15 | 9 rezultat 15 (1111 | 1001 = 1111) • 15 ^ 9 rezultat 6 (1111 ^ 1001 = 0110)

  38. Logički operatori

  39. Logički $a = true; $b = false; $c = $a || $b; $d = $a && $b; $f = (!$a && $b) || ($a && !$b); $g = !$a; echo " a = ",$a, " <br /> " ; echo " b = ",$b , "<br />" ; echo " c = ", $c , "<br />" ; echo " d = " , $d , "<br />" ; echo " f = " , $f , "<br />" ; echo " g = " , $g; • Rezultat izvršavanja prethodnog primera je: a = 1 b = c = 1 d = f = 1 g =

  40. Operatori poređenja

  41. Operatori poređenja $a = 4; $b = 1; $c = $a < $b; $d = $a == $b; echo “ c = “, $c, “<br />“ ; echo “ d = “, $d ; • Rezultat izvršavanja prethodnog primera je c = d =

  42. String operator . • Pomoću string operatora . spajaju se dva stringa • Primer $a=‘Aleksandra’; $b=‘Smiljanić’; $c=$a. ‘ ‘ . $b; $a.=‘ S’; echo $a, ‘<br />’, $c; • Rezultat Aleksandra S Aleksandra Smiljanić

  43. Operator nizova + • Pomoću string operatora + spajaju se dva niza • Primer $a=array(0=>1,1=>2,2=>3); $b=array(3=>4,4=>5); $c=$a+$b; echo $c[0],$c[1],$c[3],$c[4]; • Rezultat 1245

  44. Operator greške @ • Pre izraza (funkcija,promenljivih itd.) može se postaviti operator greške @ • Uloga ovog operatora je da ignoriše greške koje mogu da nastanu pri izračunavanju izraza (uključujući i izvršavanje funkcije itd.)

  45. Operator za izvršni kod • Naredba između dva akcenta `` izvršava naredbe operativnog sistema (npr. kreiranje direktorijuma, listanje direktorijuma itd.) • Funkcioniše kada Apache nije u “Safe mode” i kada funkcija shell_exec nije isključena • “Safe mode” se uključuje a shell_exec isključuje u fajlu php.ini, zatim se Apache restartuje.

  46. Operator za izvršni kod: primer • Primer <?php $output = `dir`; echo "<pre>$output</pre>"; ?> • Rezultat Volume in drive C has no label. Volume Serial Number is E82B-743B Directory of C:\Program Files\Apache Software Foundation\Apache2.2\htdocs 04/24/2009 00:36 . 04/24/2009 00:36 .. 11/20/2004 14:16 44 index.html 04/19/2009 22:51 21 phpinfo.php 04/24/2009 13:28 58 phpproba.php 3 File(s) 123 bytes 2 Dir(s) 78.881.165.312 bytes free

  47. Operator za izvršni kod: primer • Primer <?php $new_dir = "Bob"; `mkdir $new_dir` ?> • Rezultat: otvoren je novi folder u okviru foldera gde je PHP fajl koji ga kreira

  48. Funkcije • Funkcije predstavljaju grupu naredbi koja se može izvršiti kao pojedinačna jedinica • Funkcije su korisne jer čine program preglednijimi lakšim za ažuriranje • Kao i bilo koji drugi PHPkod, funkcije se moraju definisati u okviru<?php … ?> elementa • Funkcija se sastoji iz deklaracije funkcije i njenog poziva

  49. Deklaracijafunkcija • Sintaksa za definisanje funkcije je : functionimeFunkcije(parametri) { naredbe; }

  50. Pozivanjefunkcije • Da bi se izvršila funkcijapotrebno ju je pozvati sa određenog mesta u okviru programa • Funkcija se poziva njenim imenom i specifikacijom argumenata u okviru zagrada • Vrednosti argumenata se prosleđuju odgovarajućim parametrima funkcije u skladu sa deklaracijom funkcije

More Related