internet - tfzr.uns.ac.rs skripta 2017.pdf · jsp –java server pages ... klijent (korisnik...

136
Radna skripta -slajdovi sa predavanja - Školska 2017/2018

Upload: others

Post on 03-Sep-2019

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Radna skripta

-slajdovi sa predavanja -

Školska 2017/2018

Page 2: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

1. Uvod u PHP

2. Promenljive, tipovi podataka

3. Operatori

4. Kontrola toka

5. Funkcije

6. Povezivanje sa bazama podataka – MySQL

7. On-line forme

8. Okviri za rad (frameworks)

Page 3: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 4: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

1995 - PHP

(Personal Home

Page) jezik je

započeo Rasmus

Lerdorf za

potrebe lične

web 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.

...PHP 6 ...

Page 5: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

K

Kreiranje intraktivnih, dinamičkih

WEB strana na najlakši mogući

način.

Web strane se izvršavaju na

serverskoj strani.

Sličan C-u od koga je nastao .

PHP-om poručujemo serveru šta

želimo da se desi.

HTML i JavaScript se izvršavaju na

klijentskoj strani, odnosno na

korisničkom računaru

Nestruktuiran i nekonzistentan.

Platformski neutralan.

PHP može da memoriše podatke i

koristi ih u kasnijem trenutku.

Integrisanost sa (X)HTML-om.

Procenjuje se da na svetu ima

preko 15 miliona web strana

kreiranih u PHP-u

PHP

Page 6: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Implementira autentifikaciju i zaštitu komunikacije

Obrađuje podatke iz formulara

Povezuje korisnike sa bazama podataka na serveru

Omogućava dinamički HTML sadržaj

Vrši obrade na serveru, npr. prikuplja statistike o posećenosti

Page 7: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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)

Page 8: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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.

Page 9: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 10: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Crossplatform

Efikasan u

rešavanJu

problema

Page 11: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

PHP datoteke

PHP datoteke su

mešavina PHP i HTML.

Ekstenzija datoteka je

.php

Za kreiranje datoteka

koriste se tekst

editori (SimpleText –

Macintosh ili Notepad

Windows).

Može se koristiti i

razvojno okruženje

za PHP (IDE) sa

prednostima kojih

nema kod tekst

editora (KOMODO,

MAGUMA, PHPedit,

Zend Studio)

Page 12: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Program koji se napiše u PHP-u ne zahteva prevođenje (kompajliranje), nego se interpretira pri svakom izvršavanju.

Page 13: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Uobičajen scenario po kom se izvršavaju PHP skripte je sledeći:

klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera

server prosleđuje zahtev servisu za veb (program veb-server na serveru)

veb-server prepoznaje da se traži PHP datoteka

ne šalje njegov sadržaj klijentu, nego ga izvršava kao program pomoću PHP modula

izlazni tekst programa (standardni izlaz) se šalje klijentu kao rezultat zahteva

klijent prepoznaje vrstu rezultata (HTML kod, slika, PDF sadržaj, arhiva itd.)

rezultat se prikazuje klijentu na odgovarajući način

Page 14: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

PHP datoteka, nalik na većinu skriptnih jezika, jednostavno sadrži skup naredbi, koje se izvršavaju jedna za drugom, od prve do poslednje, gde se poslednja ujedno smatra i krajem PHP programa.

PHP datoteke mogu da sadrže sledeće vrste elemenata

HTML oznake

Oznake za PHP

PHP naredbe

beline

komentare

Page 15: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Komande se završavaju ;

Ključne reči (komande), imena funkcija i

klasa nisu osetljiva na veličinu slova (case

insensitive) .

PROMENLJIVA: $broj ≠$BROJ

Imena promenljivih jesu osetljiva na

veličinu slova (case sensitive).

Funkcije: sort = SORT

Page 16: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

PHP

osnovni

elementi

Komen-

tari

Prikaz

Promen-

ljive

OperatoriFunkcije

Objekti

Tag

Page 17: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 18: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Ideja pravljenja programa je da on ne funkcioniše samo za jedan jedini slučaj, već da bude primenljiv za različite vrednosti.

Program je praktično kao "formula" koja se primenjuje na različitim vrednostima.

Promenljiva predstavlja memorijsku lokaciju koja sadrži neku vrednost.

Tokom izvršavanja programa ova vrednost se može menjati, pa odatle i naziv "promenljiva".

Page 19: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Promenljivaje "kutija" u kojoj se nalazi "nešto".

Ta "kutija" mora imatiime preko koga onda pristupamo vrednosti tepromenljive. Umesto da u programu pišemo:

3+4

Pišemo

x+y

Page 20: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Promnljive imaju dve veoma značajne uloge u programiranju:

u promenljivama se smeštaju ulazni parametri -npr. početne vrednosti sa kojima radi našprogram

u promenljivama se drže međurezultati, kao ifinalni rezultati rada programa

Kao što im ime kaže, promenljive tokomizvršavanja programa mogu menjati vrednost. Zavisnood programskog jezika, takođe mogu (ili ne mogu) menjati i tip vrednosti.

Page 21: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Proces rešavanja problema treba definisati kroz nekoliko koraka.

Najvažniji koraci su :

Formulacija problema,

dizajniranje programa,

programiranje,

izrada test primera,

testiranje problema,

dobijanje i analiza rezultata.

Page 22: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Šta je zadatak koji treba da rešimo?

Definisanje ciljeva i korisnika

Definisanje željenog izlaza

Definisanje potrebnog i dostupnog ulaza

Definisanje načina obrade ulaza

Provera tačnosti i održivosti – testiranje na primeru

Page 23: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Među najvažnije osobine rešenja problema - algoritama spadaju:

Diskretnost :svakom koraku možemo pridružiti diskretan vremenski period u kome se taj korak izvršava.

Determinisanost:svaki korak sadrži ulazne veličine, na osnovu kojih se jednoznačno dobijaju izlazne veličine.

Elementarnost: zakon dobijanja izlaznih veličina mora biti jasan i prost.

Rezultativnost: svakom skupu ulaznih veličina mora biti definisano šta je rezultat.

Masovnost: algoritam treba tako napraviti da važi za najširi skup ulaznih podataka.

Page 24: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Svaki programski jezik ima određena pravila zazadavanje imena promenljivih. Neka opšta pravila, sa kojima (gotovo) sigurno nećemo pogrešiti su:

naziv promenljive se sastoji iz slova engleskeabecede i cifara

naziv mora počinjati slovom

Page 25: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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

Page 26: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Sve promenljive počinju sa $

Drugi znak je slovo ili _

Page 27: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Oblast važenja je prilično važna tema kada se govori o promenljivama. Suštinski, promenljive mogu imati ali i nemati vrednost ("važe" iline "važe") u celom programu.

Najčešće se oblast važenja vezuje za potprograme. Konkretno, postoje globalne promenljive kojevaže uvek i svuda, ali ilokalne koje važe samo u određenom delu programa - funkciji ili procedure

Postojanje lokalnih promenljivih je dobra stvar. Zahvaljujući njima, funkcija može biti nezavisna od ostataka programa, a možemo lako da pravimoi rekurzivne potprograme

Page 28: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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

Page 29: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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;?>

Page 30: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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=<<<EOTTextEOT; Za duži tekst pod apostrofima$s=<<<‘EOD’TextEOD; Primer:echo <<<EOTPrimer “dužeg” znakovnog niza koji može zauzimati i “veliki broj

redova” i ‘puno’ navodnika itd.EOT;

Page 31: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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 foobara je $a a je 2

Page 32: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Sintaksa definisanja nizaImeNiza=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:998

Page 33: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer:

$familije=array

(“Popov”=>

array(“Branka”,”Dejan”),

”Popović”=>

array(“Mira”,”Maja”,”Radivoj”));

Page 34: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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

Page 35: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

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

Page 36: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 37: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Aritmeticki operatori Operatori dodele Operatori poredjenja Increment/decrement operatori Logicki operatori String operatori Operatori nad nizovima

Page 38: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Operator Ime Primer Rezultat

+ Sabiranje $x + $y Suma $x I $y

- Oduzimanje $x - $y Razlika $x I $y

* Mnozenje $x * $y Proizvod $x I $y

/ Deljenje $x / $y Kolicnik $x I $y

% Moduo $x % $y Ostatak od $x pri

deljenju sa $y

** Eksponent $x ** $y Rezultat podizanja $x

na $y – ti stepen

Page 39: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer sabiranja

Primer moduo

Page 40: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

$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

Page 41: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

PHP operatori dodele se koriste sa numeričkim vrednostima da bi se numericka vrednost dodelila promenljivoj. Osnovni operator dodele u PHP – u je “=”, koji se koristi da bi se levi operand postavio na vrednost izraza na desnoj strani operanda.

Page 42: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Dodela Isto kao Opis

x = y x = y Levom operand se

dodeljuje vrednost desnog

operanda

x += y x = x + y Sabiranje

x -= y x = x - y Oduzimanje

x *= y x = x * y Mnozenje

x /= y x = x / y Deljenje

x %= y x = x % y Moduo

Page 43: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer dodele sa oduzimanjem

Primer dodele sa deljenjem

Page 44: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

PHP operatori poredjenja se koriste da uporede dve vrednosti (brojeve ili stringove)

Operator Ime Primer Rezultat

== Jednako $x == $y Vraca true ako je x jednako sa y

=== Identicno $x === $y Vraca true ako je x jednako sa y I istog su

tipa

!= Nije jednako $x != $y Vraca true ako x nije jednako sa y

<> Nije jednako $x <> $y Vraca true ako x nije jednako sa y

!== Nije identicno $x !== $y Vraca true ako x nije jednako sa y ili nisu

istog tipa

> Vece od $x > $y Vraca true ako je x vece od y

< Manje od $x < $y Vraca true ako je x manje od y

>= Vece od ili jednako $x >= $y Vraca true ako je x vece od ili jednako sa

y

<= Manje od ili jednako $x <= $y Vraca true ako je x manje od ili jednako

sa y

Page 45: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer jednako

Primer identično

Page 46: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Inkrement I decrement operatori se koriste da uvećaju ili umanje vrednost promenljive.

Operator Ime opis

++$x Pre-inkrement Povecava x za 1, zatim

vraca x

$x++ Pos-tinkrement Vraca x, zatim ga

uvecava za 1

--$x Pre-dekrement Umanjuje x za 1, zatim

vraca x

$x-- Post-dekrement Vraca x, zatim umanjuje

x za 1

Page 47: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer preinkrement

Primer postinkrement

Page 48: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

PHP logički operatori se koriste da kombinuju uslovne iskaze

Operator Ime Primer Rezultat

and konjukcija $x and $y true ako su I x I y true

or disjunkcija $x or $y true ako je bar 1 od x

ili y true

xor eksili $x xor $y true ako je jedan od x

ili y true, ali ne I ako

su oba true ili false

&& konjukcija $x && $y true ako su I x I y true

|| disjunkcija $x || $y true ako je bar 1 od x

ili y true

! negacija !$x true ako x nije true

Page 49: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer and, xor

Page 50: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

PHP ima dva operatora koji su specijalno dizajnirani za rad sa stringovima.

operator ime primer rezultat

. konkatenacija $txt1 . $txt2 konkatenacija txt1

I txt2

.= konkatenacija sa

dodelom

$txt1 .= $txt2 dodaje txt2 na txt1

Page 51: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer konktenacija

Primer konktenacija sa dodelom

Page 52: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

operator ime primer rezultat

+ unija $x + $y unija nizova x I y

== jednakost $x == $y vraca true ako x I y

imaju iste

kljuc/vrednost parove

=== identicnost $x === $y vraca true ako x I y

imaju iste

kljuc/vrednost parove

isto poredjane I istog

tipa

!= nejednakost $x != $y vraca true ako niz x

nije jednak sa nizom y

<> nejednakost $x <> $y vraca true ako niz x

nije jednak sa nizom y

!== neidenticnost $x !== $y vraca true ako niz x

nije identican sa

nizom y

Page 53: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer jednakost

Primer unija

Page 54: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 55: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Vrste podataka◦ varijable

◦ tipovi varijabli

◦ konstante

Izrazi i operatori

Petlje i uslovi◦ FOR, WHILE i ostale

petlje

◦ IF i SWITCH uslovi

Funkcije

Definisanje funkcije

Pozivanje funkcija

Vidljivost varijabli

Polja (skupovi vrednosti)

Inicijalizacija polja

Imenovana polja

Podaci u polju

Osnovne funkcije nad poljima

Page 56: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Svaki PHP skript je satkan od serije naredbi, koje mogu biti razna dodeljivanja, pozivi funkcija, petlje, uslovna grananja, pa čak i naredbe koje ništa ne rade (tzv. prazne naredbe).

Svaka od instrukcija završava, po pravilu, tačka-zarezom (;). Pored toga, određeni broj naredbi može da gradi „grupu naredbi“ koje su same po sebi poseban izraz.

Jedan od ovih grupnih izraza je grananje. Uslovna grananja ili kontrola toka programa predstavlja jedno od najvažnijih programskih struktura svakog jezika, među njima je i PHP.

Page 57: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Uslov predstavlja izraz sa određenom istinosnom vrednošću, koja može biti TRUE ili FALSE.

Ukoliko je vrednost uslova TRUE, PHP će izvršiti naredbe koje se nalaze u delu „izrazi“, a ako je ta vrednost FALSE – programski kod unutar ove strukture će se ignorisati.

Razgranate strukture služe dana osnovu nekog uslova odredimo koji deo programa će se izvršiti a koji ne. Ove strukture moramo koristiti u programu pošto skoro nikada ne možemo unapred sa sigurnošću znati sa k

Page 58: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Kontrolne strukture su jezički konstrukti kojisluže da kontrolišemo izvršavanja programa. To su suštinski naredbe koje služe da u programu realizujemo različite tipove algoritama, tj. da stvorimo razgranate i ciklične strukture.

Page 59: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

U PHP-u imamo sedeće vrste uslovnih kodova

if statement - izvršava kod samo ako je neki uslov ispunjen tj. true

if...else statement - izvršava deo koda ako je uslov tačan ili drugideo ako nije tačan

if...elseif....else statement - ako prvi uslov nije tačan, proverava se drugi a za tim se izvršava treći ako nije nijedan izvršen

switch statement - odabira se jedan od više blokova koda zaizvršavanje

Page 60: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

if ($uslov) {

// Blok koji se izvršava

// ako je $uslov ispunjen

} else if ($uslov2) {

// Blok koji se izvršava

// ako $uslov nije ispunjen, a $uslov2 jeste

} else if ($uslov3) {

// Blok koji se izvršava

// ako nisu ispunjeni $uslov i $uslov2,

// a $uslov3 jeste

} else {

// Blok koji se izvršava ako

// $uslov ni $uslov2 ni $uslov 3

// nisu ispunjeni

}

?>

Uslovi :: if...else

Page 61: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer ispod će ispisati "Have a good morning!" ako je manje od 10 sati, i "Have a good day!" ako je manje od 20 sati. Ako se ne zadovolje prva dva uslova ispisat će se "Have a good night!":

t = date("H");

if ($t < "10")

{ echo "Have a good morning!"; }

elseif ($t < "20") { echo "Have a good day!"; }

else { echo "Have a good night!"; }

Page 62: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

$slucaj = "da";

switch ($ slucaj) {

case "da": // $ lucaj == "da"

echo "DA! To je to!";

break;

case "ne": // $ slucaj == "ne"

echo "NE, to nije to!";

break;

case "mozda": // $ slucaj == "mozda"

echo "MOŽDA je a možda i nije";

break;

default: // nijedno od navedenog

echo "NIJEDNO";

break;

}

?>

Uslov:: switch-case

Sintaksa

switch (n) {case label1:

code to be executed if n=label1;break;

case label2:code to be executed if n=label2;break;

case label3:code to be executed if n=label3;break;

...default:

code to be executed if n is different from all labels;}

Page 63: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Primer: switch($mesec) {

case 1: $ime_meseca = “Januar”; break;case 3: $ime_meseca = “ Mart”; break;case 5: $ime_meseca = “Maj”; break;case 7: $ime_meseca = “Jul”; break;case 8: $ime_meseca = “Avgust”; break;case 10: $ime_meseca = “Oktobar”; break;case 12: $ime_meseca = “Decembar”; break;case 4: $ime_meseca = “ April ”; break;case 6: $ime_meseca = “Jun”; break;case 9: $ime_meseca = “Septembar”; break;case 11: $ime_meseca = “Novembar”; break;case 2: $ime_meseca = “ Februar ”;

}

Page 64: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Petlje manjuju količinu koda potrebnog da se ispiše neki kod

Neke od petlji:

◦ WHILE

◦ DO...WHILE

◦ FOR

◦ FOREACH

Radsa podacimo obično moramo da "serijalizujemo", odn

osno da radimo sa celim nizom

podataka. U ovom slučaju potrebni su nam ciklične

strukture, odnosno način da ponavljamo izvršavanje

dela programa sve dok postoji potreba.

Page 65: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

$i = 1;

while ($i <= 10) {

echo $i , "<br/>";

$i++;

}

?>

Petlje :: while

Page 66: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

$i = 0;

do {

echo $i, "<br/>";

} while ($i > 0);

?>

Petlje :: do - while

Page 67: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

for ($i = 1; $i <= 10; $i++) {

echo $i, "<br/>";

}

?>

Petlje :: for

Page 68: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Izlaz iz petlje – nasilni prekid ciklusa I pre ostvarivanja uslova petlje može se izaći iz nje

iskazom BREAK. Kada se u petlji naidje na iskazBREAK onda se prekida sve u petlji i nastavlja se od dela koda koji je posle petlje. Iskaz CONTINUE se koristi ako želimo momentalno krenuti na sledećuiteraciju petlje. Iskaz EXIT se koristi kada se želiprekinuti izvršenje čitave skripte.

while (uslov) {

...naredbe

If (uslov) {

break;

}

...naredbe

}

...naredbe posle ciklusa na koje se prelazi ako se izvrši break

Page 69: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Ciklus foreach ima specifičnu primenu -za prolazak kroz asocijativne

nizove. To je praktično jedini način da "dohvatimo" svaki element asocijativnog niza, pošto oni nisu"nabrojani", kao kod klasičnih

numerisanih nizova, već pre predstavljaju

strukturu parova ključ-vrednost.

U svakoj iteraciji ciklusa, zadata promenljiva dobija vrednost jednog elementa.

Page 70: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 71: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Funkcija nije ništa drugo nego naziv koji dajemo određenombloku koda, s namerom da ga upotrijebimo više puta.

Funkcije omogućavaju izvršavanje određenog bloka naredbi, kojese ponavljaju. PHP ima dosta već ugrađenih, ali postojimogućnost definisinja sopstvenih funkcija. Funkcija može da se pozove iz nekog drugog dela skripte, prosleđujući jojargumenate, a ona zatim, kada se izvrši, može da vrati nekuvrednost. Razlozi zbog kojeg se koriste funkcije mogu biti:

izbegavanje ponovnog pisanja već napisanog dela koda lakše razumevanje koda Svaka funkcija je identifikovana svojim imenom, može imati odre

đeneparametre I ima svoje lokalne promenljive. Funkcija

se može pozivati iz glavnog programa, iz druge funkcije, pa čaki rekurzivno iz same sebe.

Funkcije mogu (i ne moraju) vraćati vrednost.

Page 72: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Funkcija se deklariše ključnom rečju function posle koje se navodinaziv funkcije i lista formalnih parametara u zagradi. U parametrima se navodi niz promenljivih, međusobno razdvojenih

zapetom. Funkcija može imati jedan ili više parametara. Postoje slučajevikada neće biti potreban ni jedan parametar. Međutim čak i u tada jeobavezno pisanje običnih zagrada prilikom deklarisanja funkcije.

"Telo" funkcije (njene naredbe) se navodi unutar vitičastih zagrada.

function naziv(lista formalnih parametara) {

naredbe}

Funkcija se poziva po svom imenu, a u zagradi se navodi lista stavarnih parametara (realnih vrednosti koje seprosleđuju funkciji).naziv(lista stvarnih parametara);

Page 73: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Funkcija može vratiti neku vrednost kao rezultat. Za ovo se koristi direktiva return,

iza koje se navodi vrednost koja se vraća. Ova naredba istovremeno znači i prekid rada ("iskaka

nje") funkcije.

function naziv(parametri) {

naredbe... return $rezultat;

}To znači da funkcije ne moraju da se pozivaju samo kao zasebne naredbe, već mogu učestvovati i u izrazima

Page 74: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Parametri se dele na formalne i stvarne. Formalni parametri se navode u deklaraciji funkcije

i predstavljaju listu promenljivih koje primaju vrednosti stvarnihparametara koji se navode pri pozivu funkcije.

function fun($a, $b, $c) {} fun(123, $x+25, ff($c)) Formalni parametri se smatraju lokalnim promenljivama, koje imaju vred

nostunutar funkcije. U PHP-u se parametri prenose po vrednosti, što znači da se vrednost stvarnih parametara kopira u promenljive koje su navedenekao formalni parametri. Šta god mi radili sa parametrima unutar funkcije, to neće uticati na originalnevrednosti.

Ono što je bitno je da stvarni parametri imaju neku vrednost u trenutkupozivanja. Da li će to da bude konstanta, promenljiva, izraz, poziv funkcije -nije bitno, pošto se vrednosti računaju pre poziva.

Page 75: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Formalni i stvarni parametri moraju poklopiti po:

1. broju (koliko zadamo jednih, moramo imati i drugih),

2. tipu (tamo gde se očekuje broj ne možemo proslediti tekst) i

3.značenju (ako se očekuju brojevi koji označavaju mesec i dan, ne

možemo zadati dan i mesec).

Page 76: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Uobičajeno nije moguće da funkcija može da izmeni vrednoststvarnih parametara, ali ako je potrebno da se to desi, postojinačin da se parametri prenesu poreferenci, umesto po vrednosti.

Tada bi formalni parametri bili samo "pokazivači" ka stvarnimparametrima, i šta god da funkcija uradi sa takvim parametrom,

"preneće" se na stvarni paramatar. Da bi funkcija "znala" koji parametri se prenose po referenci,

ispred njih se u deklaraciji funkcije navodi znak &(ampersend). Da bi ovo funkcionisalo, stvarni parametri koji se prenose po

referenci moraju biti promenljive. Pored korišćenja naredbe return, menjanje vrednosti parametara

je još jedan način da funkcija vrati vrednost u glavni program.

Page 77: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

http://www.webnstudy.com/tema.php?id=php-korisnicke-funkcije

Page 78: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Još jedan način da se funkcija "ubaci" vrednost u neku promenljivuiz glavnog programa, bi bio direktan pristup globalnim promenljivama.

Pošto funkcija radi samo sa sopstvenim lokalnim promenljivama, da bismo iz funkcije koristili neku promenljivu iz glavnog programa, tu promenljivu moramo da deklarišemo u funkciji kao globalnu, korišćenjem directive global.

Korišćenjem globalnih promenljivih smanjujemo potrebu za korišćenjem parametara.

Page 79: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Funkcije mogu imati i varijabilan broj parametara, kada se parametri, bez obzira koliko ih je, smeštaju u niz kome preistupamo unutr funkcije. Da bi se parametar "proglasio" za listu, koristi se specijalan token ... (tri tačke).

http://www.webnstudy.com/tema.php?id=php-korisnicke-funkcije

Page 80: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Da bi se funkcija izvršila, nije dovoljno da samo bude deklarisana. Da bi se iskoristila ona mora da bude pozvana.

Nije neophodno, ali se preporučuje, da pre pozivanja, funkcija bude većdeklarisana. Prilikom pozivanja funkcije, navodi se lista argumenata.

Redosled argumenata, koji se navode u pozivu, treba da odgovararedosledu parametara u deklaraciji funkcije. Kao argumenti, mogu se navesti promenljive, određene vrednosti ili izrazi. Brojne vrednosti se mogu proslediti sa ili bez navodnika. Nije neophodno da broj elemenataiz lista argumenata bude jednak broju elemenata iz liste parametara. Ako je broj argumenata manji i nemaju unapred dodeljenu vrednostnedostajućim promenljivama se dodeljuje vrednost null (mada dolazi do greške, ona se neće zaustaviti izvršavanje funkcije). Ako funkcija vraćaneku vrednost, ona se u pozivu može dodeliti nekoj promenljivoj iliupotrebiti u nekom izrazu.

Kada se izvršavanje funkcije završi, tok programa se nastavlja, tačno od mesta odakle je pozvana. Izvršavanje može da se prekine pošto se prođekroz celu funkciju ili se tok izvršavanja može prekinuti u bilo kom delubloka, upotrebom jedne ili više naredbi za povratak (engl. return).

Page 81: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

// definisanje funkcije

function naslov($tekst = "Moj naslov") {

// telo funkcije

echo "<h1>" . $tekst . "</h1>";

}

// pozivanje (pokretanje) funkcije

naslov();

naslov("Moj novi naslov");

naslov("Moj drugi naslov");

?>

Funkcije :: Definisanje i pozivanje

Page 82: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Sve promenljive koje se koriste u okviru funkcija, osim onih koje se nalaze u listi parametara prosleđene po adresi, dobijaju početne vrednosti prilikom svakog pozivanja funkcije.

Te promeljnive su lokalnog karaktera, njihove vrednosti se dodeljuju i raspoložive su isključivo u okviru iste funkcije. Važi i obrnuto, promenljive definisane van funkcije, nisu raspoložive unutar funkcije, čak ni onda kada se van i u okviru funkcije koriste istoimene promenljive.

Page 83: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

// polje sa numeričkim vrednostima

$posta = array(

23000, 21000, 33000, 13000

);

// polje sa znakovnim nizovima

$grad = array(

"Zrenjanin", „Novi Sad", „Kragujevac", „Pancevo"

);

// ispis vrednosti polja

for ($i=0; $i<4; $i++) {

echo $posta[$i] . "-" . $grad[$i] . "<br/>";

}

?>

Polja :: Priprema i korištenje

Page 84: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

$gradovi = array(

„Zrenjanin" => 23000,

„Novi Sad" => 21000,

„Pancevo" => 13000

);

$gradovi[„Beograd"] = 11000;

echo $gradovi[„Zrenjanin"] . "<br/>";

echo $gradovi[„Beograd"] . "<br/>";

?>

Polja :: Imenovana polja

Page 85: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

U objektno orijentisanom programiranju, za smeštanje određene grupe funkcija i promenljivih koriste se klase.

Da bi bile dostupnije u bilo kom delu istog programa ili u nekim drugim programima, klase se najčešće ispisuju u posebnim spoljašnjim datotekama.

Klase same za sebe ne sadrže podatke. Na osnovu klasa kreiraju se objekti. Klase su modeli, apstraktne predstave objekata sa zajedničim osobinama i ponašanjam

Page 86: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Prilikom izbora imena klasa važe ista pravila, kao i za imenafunkcija i promenljivih. Osim toga, interpretator ne pravirazliku između malih i velikih slova, ali je običaj da u imenima klasa početak reči bude veliko slovo, a da ostalaslova budu mala, kako bi se razlikovale od ostalihidentifikatora. Svojstva, odnosno atributi ( attributes), osobine ilikarakteristike su skup promenljivih, od kojih neke mogu da imaju početnu vrednost. Vrednost se definiše prekojednostavnih izraza, koji ne mogu da sadrže drugepromenljive, niti funkcije.Akcije ili ponašanje klase definiše se preko metoda, kojezapravo imaju ulogu funkcija u strukturnom programiranju, s tom razlikom da je dozvoljeno da metoda neke druge klase ilispoljašnja korisnička funkcija nose isto ime.

Page 87: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Gledajući definiciju klase, lako se možezaključiti da su to zapravo kolekcijepromenljivih i funkcija, preko kojih se definišunjena svojstva i ponašanje. Kako svojstva, tako imetode mogu imati različitu vidljivost u odnosuna svoje okruženje. Ovo se deklariše prekoključnih reči:

public — atributi i metode su javni, odnosnopotpuno su dostupni van postojeće klase

private — atributi i metode su dostupnijedino unutar klase

protected — atributi i metode su dostupniunutar same klase ili unutar klasa izvedenih

Page 88: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 89: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

MySQL je najpopularnij database sistem koji se koristu u PHP-u.

Šta je MySQL?

MySQL je database sistem koji se koristi na web-u

MySQL je database sistem koji radi na serveru

MySQL je idealan za male I velike aplikacije

MySQL je veoma brz ,pouzdan I lako se koristi

MySQL koristi standard SQL

MySQL se kompajluje na više platforma

MySQL se može besplatno koristiti I preuzeti

MySQL je osnovan, distribuiran, and održavan od strane Oracle Corporation

Page 90: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

MySQL je jedan od sistema za upravljanje relacionimbazama podataka. Ovaj program se ponaša kaoserver, sa muilti-user funkcijom, odnosno dozvoljavapristup više korisnika.

MySQL je višekorisnički sistem za upravljanje bazama podataka. Prva verzija ovog sistema se pojavila 1995. godine i ovo je trenutno najpopularniji sistem za upravljanje bazama podataka.

MySQL skraćenica od (eng. Standard Query Language) je strukturni jezik za upite koji se upućuju bazi podataka.

Napisan je programskim jezicima C i C++ i takođe je podržan na većini danas popularnih operativnih sistema.

Page 91: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Svaka MySQL baza može imati nekoliko korisnikakoji joj mogu pristupiti, a svaki korisnik imapredefinisane mogućnosti za rad, odnosnoovlašćenja.

Ovakav pristup uz dobra podešenja, znatnoumanjuje mogućnost greške.

MySQL kao sistem može raditi na mnogorazličitih operativnih sistema, a najčešće se koristi na Apache webserverima u kombinaciji saPHP. Informacije u MySQL bazi podataka se sortiraju u tabelama.

Tabele se sastoje od redova I kolona.

Page 92: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Baza se kreira uz pomoć ključne reči CREATE:

;

Za pristup bazi koristimo naredbu USE:

Page 93: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Da bi kreirali tabelu koristimo sledeći model:

U našem primeru to bi izgledalo ovako:

Prva linija je krajnje jednostavna, u njoj obaveštavamo MySQL da želimo da kreiramotabelu STUDENT. U drugoj liniji želimo da napravimo kolonu koju ćemo nazvati ID kojaće sadržati podatke tipa integer (int). Ova linija sadrži i neke specifičnosti vezane zaprvu kolonu: Prvo, kolona ne sme biti prazna (NOT NULL). Zatim, automatski se dodeljuje vrednost svake sledeće vrste prilikom unosa (AUTO_INCREMENT). I konačno, pošto će sve vrednosti sigurno biti različite to nam omogućava da datu kolonuoznačimo kao primarni ključ (PRIMARY KEY). Treća linija je takođe veoma jednostavna, žalimo da napravimo kolonu StudentIme koja će sadržati podatak tekstualnog karaktera (tipa TEXT) odnosno ime studentaČetvrta kolona StudentDatumRodjenja će sadržati tip podataka (DATE) i ona takođenikada ne sme biti prazna, zato i za nju stavljamo NOT NULL.

Page 94: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Pošto smo kreirali bazu i u njoj tabelu, sadapreostaje da u tabelu unesemo neki sadržaj.

Ključna reč za unošenje sadržaja u tabelu jeINSERT. Jedan od načina na koja možemoizvršiti upisivanje u tabelu:

Page 95: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Nije potreban specijalan program da bi se ostvarila veza sa MySQL bazom, već je u sam PHP jezik je ugrađena podrška za povezivanje sa MySQL bazom.

PHP funkcija kojauspostavlja vezu sa bazom je:

Address - predstavlja IP ili hostname kompjutera na kome se nalazi MySQL sa kojimželimo da uspostavimo vezu ("localhost", ako se pokreće na istom kompjuteru)

Username - MySQL username, ako je hostname localhost, onda će username biti root

Password – lozinka za logovanje

Funkcija mysql_connect, vraća broj kao potrvdu da je uspostavljena veza. Ako jenamera uspostavljanje „običnе“ vezе, ta vrednost se prihvata

Page 96: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Sledeći korak je uspostavljanje veze sa bazomsa kojom želimo da radimo. Pošto je većkreirana, sada ćemo samo nastaviti rad sanašom bazom Student.

Izbor baze u PHP je uz pomoć sledećekonstrukcije :

Promenljiva $dbcnx koja sadrži identifikator o povezanosti sa bazom da kaže funkciji koju bazu da upotrebi sa konekcijom (opcioni parametar)

Funkcija će automatski uzeti link identifikator za poslednju ostvarenu vezu. Funkcija vraća tačno, kada je uspešno i netačno kada se javi greška.

Page 97: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Nakon uspostavljene veze sa izabranombazom, pristupa se korišćenju podatakasačuvanih u bazi pomoću mysql_queryfunkcije:

<query>niz koji sadrži SQL komande koje će se izvršiti.

Identifikator konekcije je opcion.

Page 98: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Za većinu SQL upita, funkcija mysql_query vraćauglavnom tačno (uspešno) i netačno (neuspešno).

Za SELECT to nije dovoljno. Pozivamo SELECT funkciju da bi videli podatke sačuvane u bazi.

U dodatku indikatora, da li je je upit uspešan ilineuspešan, PHP takođe mora da primi rezultatupita.

Kao rezultat poziva SELECT, mysql_query vraćabroj identifikator "podešenosti rezultata", dobijase lista redova (sadržaj baze). Greška se ne vraća, ako je upit loš iz bilo kog razloga.

Page 99: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Sadržaj rezultata biće tekst sa svim imenima studenata, sačuvanim u tabeli Student.

Page 100: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Page 101: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Ako želimo da omogućimo posetiocima našeg sajta da upišu studenta u bazu, neophodno je da obezbedimo formu.

Page 102: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Za ubacivanje vica u bazu, koristimo samomysql_query da bi pokrenuli INSERT upit, koristimopromenljivu $studentime da bi poslali vrednost

Page 103: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 104: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

• Forme na veb stranicama koristimo kako bismo ostvarili neku interakciju sa korisnikom

• Forme mogu služiti za, recimo, prikupljanje podataka o korisniku

• Jedna velika prednost PHP-a je što može da koristi HTML forme

• PHP koristimo kako bismo informacije prosledili na istu ili neku drugu stranicu

Page 105: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

• Formu kreiramo u zagradama <form></form>

• Podržava Global (class, data, id, title...) i Event (onerror, onload, onclick...) atribute

• Elementi forme: <input>, <select>, <textarea>, <button>, <datalist>, <keygen>, <output>

• Svaki element može sadržati atribute (npr. maxlength, size, required...)

• Najvažniji element je <input>

Page 106: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

• Tipovi: text, password, submit, radio, checkbox, button, reset, date, range, search, email, url, week, tel...

<form method="GET" action="">Ime:<br /><input type="text" name="ime"><br /><input type="submit" name="submit"

value="Potvrdi"></form>

Page 107: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<html><hr /><br />Popuni polja:<br /><form method="POST" action="">

<input type="text" name="ime" ><br /><input type="password" name="psw"><br /><input type="radio" name="pol" value="musko" checked> Muško<br

/><input type="radio" name="pol" value="zensko"> Žensko<br /><input type="radio" name="pol" value="neodredjen"> Neodređen<br

/><input type="checkbox" name="vozilo" value="bajs"> Bajs<br /><input type="checkbox" name="vozilo" value="kola"> Kola <br /><input type="submit" name="submit" value="Potvrdi"><input type="reset">

</form></html>

Page 108: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

• Atributi nam služe da, recimo, ograničimo unos podataka ili dodamo neke posebne informacije, itd.

• Npr.: disabled, maxlength, placeholder, required...

<form>Ime:<br><input type="text" name="ime" maxlength="3"></form>

Page 109: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

„Disabled“ atribut zaključava polje tako da postaje neaktivno

<form>Ime:<br><input type="text" name="ime" maxlength="3"disabled></form>

Page 110: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

„readonly“ atribut zaključava polje tako da korisnik ne može da ga menja

<form>Ime:<br><input type="text" name="ime" placeholder="Nekoime" readonly></form>

Page 111: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Dozviljava ili sprečava automatsko popunjavanje polja

<form>Ime:<br><input type="text" name="ime" placeholder="Nekoime" autocomplete="off"></form>

Page 112: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Postavlja kursora u to polje pri učitavanju stranice

<form>Ime:<br><input type="text" name="ime" autofocus></form>

Page 113: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

• autocomplete

• autofocus

• form

• formaction

• formenctype

• formmethod

• formnovalidate

• formtarget• height and width• list• min and max• multiple• pattern (regexp)• placeholder• required• step

Page 114: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Forma može sadržati dodatne atribute kao što su

• Action

• Method

• Target

• Name

• i druge.

Page 115: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<form method="GET" action=""></form>

Recimo, „Method“ atribut za određivanje metode slanja informacija kroz PHP

<form method="POST" action=""></form>

Page 116: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<form method="" action=""></form>

Prosleđuje informacije na neki link/fajl

<form method="" action="stranica.php"></form>

Ne prosleđuje na drugu stranicu

Prosleđuje na stranicu stranica.php

Page 117: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Vrednosti iz formi možemo proslediti putem GET i POST metoda

Obe metode kreiraju niz parova sastavljenih od vrednosti i ključeva

array( key => value, key2 => value2, key3 => value3, ...)

• GET metoda dodaje vrednosti u URL jer se tako vrednosti i prosleđuju

• POST ne dodaje vrednosti u URL jer podatke prosleđuje putem HTTP POST metode

Page 118: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

echo $_GET['ime'];

?>

<html>

<form method="GET" action="">

Ime:<br />

<input type="text" name="ime" ><br />

<input type="submit" name="submit" value="Potvrdi">

</form>

</html>

Page 119: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

<?php

echo "Ime: {$_POST['ime']} <br />";

echo "Lozinka: {$_POST['psw']} <br />";

echo "Pol: {$_POST['pol']} <br />";

echo "Vozilo: {$_POST['vozilo']}";

?>

<html>

<hr /><br />

Popuni polja:<br />

<form method="POST" action="">

<input type="text" name="ime" ><br />

<input type="password" name="psw"><br />

<input type="radio" name="pol" value="musko" checked> Muško<br />

<input type="radio" name="pol" value="zensko"> Žensko<br />

<input type="radio" name="pol" value="neodredjen"> Neodređen<br />

<input type="checkbox" name="vozilo" value="bajs"> Bajs<br />

<input type="checkbox" name="vozilo" value="kola"> Kola <br />

<input type="submit" name="submit" value="Potvrdi">

<input type="reset">

</form></html>

Page 120: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

$_GET

• Moguć je bookmark stranice sa parametrima (npr. prilagođena pretraga proizvoda)

• Limitiran na 2.000 karaktera• Ne koristiti za osetljive informacije!

Page 121: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

$_POST

• Informacije nisu vidljive• Nema ograničenja• Mana je što se ne može sačuvati prilagođena podešavanja formi

Page 122: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 123: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Postoje brojni okviri za izradu najrazličitijihaplikacija i web stranica. Razvijeni su i za programski jezik PHP i postali su veoma popularni.

Gotovo svaki aspekt njihovog razvoja mogućeje izvršiti efikasno korišćenjem ovih PHP okvira

Okviri (framework) pružaju mogućnostsvakom PHP developeru osnovu za izgradnjuweb aplikacija velikih performansi.

Page 124: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Objektno-orijentisani koncept baziran na MVC arhitekturi.

Okvir visokih performansi za razvoj Web 2.0 aplikacija.

Karakteristike: MVC, dizajn obrazac, bogatemogućnosti šema za keširanje, RBA (Role Based Access) i autentifikaciju, Database Access Objects (DAO), omogućeni su i Ajax dodaci i detaljni dokumenti;

Yii služi kao idealan okvir za razvoj poslovnihweb aplikacija, aplikacija za društvenemedije, SaaS, PaaS i mnogo više.

Page 125: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Verovatno najpopularniji, Laravel je već drugu godinuzaredom na Sitepoint.com proglašen za najpopularnijiPHP softverski okvir godine.

Razlog za to je sasvim sigurno njegovajednostavnost: jednostavnost korišćenja jedinstvenekombinacije alata koju ovaj radni okvir nudi; jednostavnostkoju programer oseća na svakom koraku dok razvijasopstvenu aplikaciju; najzad, jednostavan je i lak zaučenje.

Laravel to postiže naizgled banalnim stvarima: imenimaentiteta (klasa, metoda, varijabli itd.)

Razvijen je i specifičan način rada koji programerima kojiodluče da ga koriste, osim što donosi ozbiljne uštede u vremenu, udobnost i kvalitet rada, u velikoj meri garantujeda će kod koji napusti lokalno razvojno okruženje raditipodjednako dobro i na produkcionom serveru.

Page 126: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Smatra se jednim od najbržih PHP okvira.

Phalcon je open source okruženje kreiranokao C-ekstenzija, optimizovano za visokeperformanse.

Funkcionalnost je izložena putem PHP klasaspremnih za korišćenje.

Neke od odličnih mogućnosti koje nudi ovajPHP okvir jesu: prevodi, sigurnost, upravljanjepojedinim dodacima, univerzalni auto-punjači još mnogo toga.

Phalcon se može koristiti za razvoj MVC aplikacija viz: single-modul, multi-modul imikro aplikacija.

Page 127: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Zend okvir je proizvod kompanije Zend Technologies, kojaje imala i ima ključni uticaj na razvoj programskog jezikaPHP.

Osnovna ideja jeste da se pruži skup modula koji ćeolakšati implementaciju čestih postupaka u web programiranju.

Radni okvir Zend veliki naglasak stavlja na fleksibilnost ikonfigurabilnost, odnosno omogućuje prilagođavanjesvakog detalja u razvoju web aplikacije.

Kako bi se olakšala izgradnja osnovne strukturedirektorija, Zend okvir nudi jednostavne alate koji generišustrukturu direktorija i osnovnih datoteka web aplikacije.

Kompanija Zend je takođe poznata po veoma cenjenimsertifikatima, najtraženijim u PHP svetu, jer brojsertifikovanih Zend stručnjaka ni izdaleka ne prati tražnju.

Page 128: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Symphony radni okvir je kreirao Fabien Potencier, osnivač francuske firme za razvoj web aplikacija Sensio.

Za ovaj radni okvir je specifično da je kreiran na osnovu nekoliko rešenja sa otvorenim kodom. Uključujući i sloj za apstrakciju baza podataka, Creole , Mojavi MVC sloj i Propel sloj za definisanje relacija između objekata.

Page 129: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Symfony teži da ubrza kreiranje i održavanje web aplikacija i da zameni ponavljanje koda.

Symfony ima niske performanse i preko toga koristi se sa bytecode kešom.

Symfony služi za izgradnju robusnih aplikacija(jakih) u preduzetničkom kontekstu, kao i to da pruži developerima potpunu kontrolu nadkonfiguracijom: od strukture direktorijuma do stranih biblioteka, skoro sve se može promeniti. Kako bi ispunio smernice razvojnogpreduzetništva, Symfony dolazi u paketu sadodatnim alatima kako bi pomogao developerimada testiraju, debaguju i dokumentuju projekte

Page 130: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 131: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Prvo je potrebno pristupiti linku symfony.com/download

Nakon toga, u zavisnosti od sistema na kojem želite da instalirate simfony, odaberete komandu za instalaciju. U ovom slučaju je za Windows

Ukoliko je sve uspešno instalirano, pomoću ove komande možete napraviti prvi projekat koristeći Simfony radni okvir:

symfony new my_project

Page 132: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 133: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server
Page 134: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Codeigniter frejmvork pretstavlja kolekciju korisnih alata i konvencija pomoću kojih programer uspeva da na brži i lakši način dodje do rešenja gradeći internet aplikaciju pomoću PHP tehnologije.

Nasuprot mnogim drugim rešenjima jedna od prednsti Codeigniter frejmvorka jeste njegova veličina tj. veličina osnovnog jezgra je zaista mala i zahteva svega nekoliko dodatnih biblioteka, dok se ostale dinamički učitavaju u zavisnosti od potreba, čineći ovaj frejmvork vrlo brzim.

Page 135: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Puna podrška za baze podataka sa podrškom na nekoliko platformi.

Validacija formi i podataka

Bezbednosti i XSS (cross site scripting) zaštita

Upravljanje sesijama

Klasa za slanje E mail-ova. Podrška zapriloge, HTML/Tekstualni e-mail, nekolikoprotokla (sendmail, SMTP, Mail).

Klasa za manipulaciju i rad sa slikama(odsecanje, uveličanje, rotacija, itd.). Podržava GD, ImageMagick, and NetPBM

Page 136: Internet - tfzr.uns.ac.rs SKRIPTA 2017.pdf · JSP –Java Server Pages ... klijent (korisnik Interneta koji koristi neki internet pregledač) zahteva PHP stranicu sa servera server

Sa tehničkog i arhitekturalnog stanovišta Codeigniter jenapravljen vođen sledećim ciljevima:

Dinamička instantacija - U Codeigniter-u, komponente i rutine se učitavaju i izvršavaju umesto svaki put, samo onda kada se to zahteva. Sistem ne pravi nikakve pretpostavke po pitanju onoga što je potrebno učitati izuzev osnovnih komponenti potrebnih za funkcionisanje, tako da je sistem ostaje izuzetno lagan u svojoj osnovnoj verziji. Događaji inicirani HTTP zahtevom i kontrolerima koje piše programer će odlučivati koje komponente sistema će biti aktivirane.Slabo uparivanje - Uparivanje je stepen međusobnezavisnosti komponenata sistema. Što komponente manjezavise jedno od druge, to je sistem više fleksibilan iponovo upotrebljiv.Singularnost komponenata– Singularnost je stepenspecijalizovanosti komponenata. U Codeigniter frejmvorkusvaka klasa i njene funkcije su visoko autonomne u ciljumaksimalne iskorišćenosti.