*** da se podsetimo nekih osnovnih pojmova koje već znate: ***

1.  Statičke i dinamičke web stranice

Desktop i web aplikacije

  • Aplikacija je bilo koji program koji je napravljen da bi bio pojednostavljen ili obavljen neki zadatak.
  • Desktop aplikacija je instalirana na klijentskoj mašini.
  • Desktop (klasična) aplikacija se pokreće izvršavanjem određenog izvršnog fajla (exe / jar).
  • Web aplikacija je instalirana na nekom udaljenom serveru i njoj se pristupa putem Internet-a.
  • Web aplikacija se pokreće zahtevom odgovarajućeg URL-a u Web Browser-u, koji predstavlja interfejs web aplikacija.

Statički web sajtovi

  • Statički sajtovi se ne menjaju sve dok sam autor nešto ne promeni
  • Omogućavaju slanje informacija ka korisnicima
  • Korisnici nemaju mogućnost interakcije i ne mogu neki zadatak da izvršavaju na programabilan način
  • Statičke web sajtove čine obične statičke HTML stranice (skup HTML fajlova)

Zahtev za HTML dokumentom (u slučaju statičke HTML stranice) :

* Klijent zahreva HTML dokument od servera, Server vraća HTML dokument, klijent prikazuje dokument na ekranu *

Dinamičke web aplikacije

  • Dinamičke web aplikacije - interkacija sa korisnikom
  • Dinamičke web aplikacije čine dinamičke stranice (skup php, asp, jsp... fajlova) koje takođe koriste HTML jezik za komunikaciju sa klijentom

Slanje zahteva kod klijent-server arhitekture:

Klijent zahteva dokument (koji sadrži PHP), server obrađuje PHP skript, PHP vraća HTML sadržaj, server vraća HTML klijentu ..


2. Ponavljanje gradiva

(KLIK za prikaz/sakrivanje nekih od najvažnijih pojmova sa prethodnog časa)

PHP je jezik za pisanje skriptova koji rade na serveru. To je proizvod otvorenog koda (open source). Namenjen je za izradu dinamičkih stranica koje mogu da komuniciraju sa bazama podataka. Izvodi se na strani servera.

Potrebno je osnovno znanje iz HTML-a, CSS-a i JavaScript-a da bismo lakše naučili PHP.

(skraćenica PHP: Personal Home Page, PHP Hypertext Preprocessor )

PHP nije strogo tipiziran, što znači da ista promenljiva može menjati tip podatka koji sadrži (iako se to ne preporučuje). Promenljive je moguće napraviti kad god je to potrebno.

Da bi se pokrenuo PHP potreban je lokalni web server i tekst editor. PHP fajlovi imaju ekstenziju .php i mogu da sadrže tekst, HTML, CSS, JavaScript i PHP kod.

PHP kod se može nalaziti bilo gde u dokumentu. Počinje sa <?php i završava se sa ?>. Svaka linija koda između ove dve komande završava se sa (;).

Za ispisivanje teksta i vrednosti promenljive mogu da se koriste naredbe echo i print. Echo nema povratnu vrednost, a print uvek vraća vrednost i zbog toga se može tretirati kao funkcija i koristiti u izrazima.
Funkcija var_dump() ispisuje vrednost i tip promenljive.

Komentare možemo pisati na dva načina. Jednolinijski komentar pišemo posle karaktera // , a višelinijski između /* */ .

Promenljive služe za čuvanje informacija. Ispred naziva promenljive stoji znak $. Naziv može da počinje slovom ili donjom crtom, ali ne i brojem. Može da sadrži mala i velika slova, brojeve i donju crtu. U nazivima promenljivih se razlikuju mala i velika slova. Na primer: $ime i $Ime su dve različite promenljive.

Promenljive ne deklarišemo ni na kakav poseban način. Postaju definisane kada im prvi put dodelimo vrednost,a možemo ih definisati kada god je to potrebno.

Kasnije ćemo malo više reći o njima: Oblast važenja (kontekst u kome su definisane), vrste: lokalne, globalne i statičke. Promenljive koje su definisane na globalnom nivou ne važe unutar funkcija i obrnuto. Kada želimo da koristimo globalnu promenljivu u funkciji, koristimo ključnu reč global.

3. Nastavak:

Prvo treba savladati osnove, da bi se moglo raditi sa naprednijim elementima.

Proći ćemo ukratko tipove podataka: prvo o stringovima, zatim o prostim tipovima podataka i na kraju o nizovima. To će nam biti potrebno za dalji rad.

Za početak, da vidimo kako se radi sa stringovima:

Vežbe:

- pokrenuti Apache web server
- Kreirati folder za novi zadatak direktno na web serveru (D:/XAMPP/htdocs/ vaš folder /string ) i otvoriti ga i VS Code.
- kreirati index.php.
- ubaciti template za html:5
- u body ubaciti tagove za php
- kreirati promenljive: $ime , $prezime,
echo $ime;
Otvoriti u Browseru: localhost/"vaš folder"/string
* upotrebiti više primera radi ilustracije:
* proveriti šta će biti ako se koriste jednostruki ili dvostruki navodnici
* prikazati poruku u kojoj postoje neki navodnici (verzije sa obe vrste navodnika i sa \ )
* kako "prilepiti" vrednosti u echo pomoću tačke
* šta će biti ako u echo ubacimo promenljivu - hoće li raditi ako su okolo jednostruki/dvostruki navodnici
* Unutar dvostrukih navodnika su vidljive varijable !
* Proveriti da li će raditi sa jednostrukim navodnicima
 echo 'Pozdrav'.$ime;


U nastavku je video o prostim tipovima podataka:

Vežbe:

- Zašto se koriste komentari, kako se koriste komentari ? (u PHP: // ili /* ... */ )
- Osnovni prosti tipovi podataka: brojevi, boolean i null
Brojevi:
- U index.php dodati sledeće:
 $broj= 12;
 $broj2 = 22.25;
 $zbir= $broj + $broj2;
 echo $zbir;
- Kada želimo da vidimo i kojeg je tipa podatak, koristićemo var_dump()
 var_dump($zbir);
- Isprobati matematičke operacije sa brojevima (+, -, *, /, %):
 echo 1 + 2 * 3 ;
- Šta će se desiti ako stavimo navodnike oko brojeva?
Boolean: trebaće nam ako koristimo uslove
  $istina = true;
  $neistina = false;
- Kako se ispisuju logičke vrednosti u browseru?  - ispitati obe vrednosti sa
 echo
ili
 var_dump ()
Null: nedostatak vrednosti koji može da se zada 
  $neko = null;
- Ispitati šta će se ispisati na ekranu za nešto što je null
- da li se razlikuje NULL i null, TRUE i true ili tRuE ...

A sada malo o NIZOVIMA:

Ovo bi trebalo da vam je poznato:

Vežbe:

- Na web root-u, u vašem folderu kreirati folder array i u njemu kreirati index.php, pa ga otvoriti u browseru
- koji su složeni tipovi podataka: array, object, resource
- sada se upoznajemo sa array u PHP
  $brojevi = [1, 3, 5, 7];
-ovde imamo indeksno uređen skup elemenata  - array
  $brojevi2 = Array(1, 2, 3, 4);
- složeni tipovi podataka u sebi imaju više vrednosti unutar jedne varijable
- Kako ovo prikazati? da li bi radilo echo na
  var_dump($brojevi);
- kako da ovo izgleda lepše:
echo "<pre>";
var_dump($brojevi);
echo "</pre>";
- kreirati niz sa različitim vrstama elemenata.
$mix = ["Maja", 1, 23, null];
var_dump($mix);
- kako pristupiti jednom elementu niza? - daj mi element za poznati index ...
echo "<pre>";
echo "<h1>$mix[2]</h1>";
echo "</pre>";
- vežbati ako je element niza neki drugi niz (na poslednje mesto niza staviti drugi niz i pokušati prikazati jedan od elemenata u tom podnizu)
-Kako ubaciti novu vrednost u niz?
- Dodati u niz sa zadatom pozicijom (bez obzira da li ta pozicija postoji) ili dodati na prvu slobodnu poziciju na kraj niza
  $mix[] = "Pera";
-Kako ukloniti element niza - kao i bilo šta drugo - koristiti unset funkciju
- šta se sve može raditi sa nizovima?
- primer:
     foreach($ime_niza as $el) {
      echo "<br> $el <br>";
}

*****

Međutim, da li ste se dosada sretali sa asocijativnim nizovima:

Vežbe:

- nastavljemo u istom index.php da radimo sa nizovima:
  $ucenik = ["ime"=>"Pera", "prezime"=>"Pap","visina"=>180];
  $ocene_ucenika = ["srpski"=>5, "PIT"=4, "Programiranje"=>3];
   echo "<pre>";
   var_dump($ucenik);
   echo "</pre>";
- asocijativni niz - imamo asocijacije
- kada želimo da pristupimo elementu ovakvog niza, koristimo asocijacije:
echo "<pre>";
echo "<p>".$ucenik["ime"]." ima ocenu iz PIT-a> ".$ocene_ucenika["PIT"]."</p>";
echo "</pre>";
- sa var_dump prikazati sve iz niza
- sa unset obrisati jedan element niza
- dodati jedan element niza
- ( ideje učenika u učionici za primere rada sa nizovima )

Funkcije

Šta su funkcije i kako se definišu?

Prvo pogledajte sledeći video:


Kako da definišete funkcije u PHP-u?

Funkcije u PHP-u definišemo na sledeći način:

<?php
function naziv_funkcije($argument1,$argument2…$argumentN)
{
//blok naredbi funkcije
}
?>

<?php
function saberi($broj1, $broj2)
  {
   $ukupno=$broj1+$broj2;
   return $ukupno;
  }

$b1=22;
$b2=23;
echo saberi($b1,$b2);
?>

U ovom primeru se, osim promenljivih $b1 i $b2, koriste i $broj1 i $broj2.
Ovo je moguće zato što se funkciji ne dodeljuju same promenljive već njihove vrednosti koje se čuvaju u lokalnim promenljivama koje postoje samo za vreme izvršenja funkcije.
***

<?php
function povecaj($broj,$vrednost){
  $broj += $vrednost;
}
$broj_jabuka=12;
povecaj($broj_jabuka,10);
echo $broj_jabuka;
?>


Nije obavezno koristiti isto ime promenljive u glavnom programu i funkciji, iako je moguće. Rezultat će u oba slučaja biti isti.
***

U nastavku je primer kada funkcija ima default vrednost:

Primer #3 (KLIK za prikaz/sakrivanje primera)

<?php
function dugovanje($novaca=0)
  {
    echo "Dug koji imate je $novaca dinara ";
  }
// ispis default vrednosti
dugovanje();
echo "<hr>";
// ispis date vrednosti
dugovanje(1000);
?>





Kod funkcija koje imaju default vrednost bitno je da ta vrednost bude konstantna (string ili broj).
***

Ako funkcija ima više argumenata, tada argumenti koji imaju default vrednosti moraju biti iza argumenata koji nemaju default vrednosti. To je ilustrovano u sledećem primeru:

<?php
    function jelo($losije,$bolje="burek")
    {
      echo "$bolje je bolji dorucak nego $losije";
    }
    jelo("kifla");
    ?>

***

Postoje funkcije koje su ugrađene u PHP, ali će o njima biti više reči neki drugi put ( onda kada nam zatrebaju ).


Last modified: Wednesday, 9 March 2022, 4:30 PM