1 / 20

DWA 2

DWA 2. Lesson 01. Modularnost i funkcije. Deklaracija funkcije Ispis i vraćanje rezultata funkcije Slanje argumenata funkciji Slanje argumenata po referenci Uključivanje blokova koda i biblioteka funkcija Doseg varijabli funkcija. 1. Deklaracija funkcije.

nassor
Download Presentation

DWA 2

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. DWA 2 Lesson 01

  2. Modularnost i funkcije • Deklaracija funkcije • Ispis i vraćanje rezultata funkcije • Slanje argumenata funkciji • Slanje argumenata po referenci • Uključivanje blokova koda i biblioteka funkcija • Doseg varijabli funkcija

  3. 1. Deklaracija funkcije • function imeFunkcije() { // kod } • function imeFunkcije($argument) { // kod } • function imeFunkcije($arg1,$arg2) {// kod } • function imeFunkcije($polje) { // kod } • function imeFunkcije($opcionalni=1){//kod} • function imeFunkcije($argument,$opc=1)...

  4. Vježbe • Napišite 5 različitih deklaracija funkcija • Proizvoljni nazivi funkcija • Proizvoljan broj argumenata • Kod ne pisati • staviti samo: { // kod } • zadnja vitičasta nikada ne smije biti u istom retku sa komentarom! • greška “unexpected $end” je siguran znak da neka vitičasta zagrada nije zatvorena !!!

  5. Pisanje i čitanje dokumentacije • resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) • Prije naziva funkcije ide tip varijable koju funkcija vraća (“void” ako ne vraća ništa) • Naziv funkcije • Tip varijable obaveznog argumenta + argument • Tip varijable drugog obaveznog argumenta + argum. • U uglatim zagradama idu opcionalni argumenti

  6. Vježbe • Pronađite deklaracije 5 različitih sistemskih funkcija php jezika koje smo do sada koristili i prema dokumentaciji napišite ispravne pozive tih 5 funkcija

  7. 2. Vraćanje rezultata funkcije • Funkcija može ispisati ili vratiti rezultat • Poziv funkcije koja sama ispisuje rezultat // kod zaglavljeStranice(); // kod • Ako želimo da funkcija vrati rezultat u kod funkcije treba staviti return $povratni_rezultat • Poziv funkcije koja vraća rezultat // kod $rez = pitagora($a,$b); // kod • Funkcije mogu vraćati polja (array) i objekte (resurse) poput recordseta ili veze na bazu podataka!

  8. Vježbe • Napišite 2 funkcije koje same ispisuju rezultat i pozovite ih. • Napišite 2 funkcije koje vraćaju rezultat i dohvatite njihovu vrijednost u varijable, pa ispišite njihovu vrijednost

  9. 3. Slanje argumenata funkciji • Funkciji se može poslati neograničen broj argumenata različitih tipova • Da bi funkcija prihvatila argumente oni moraju biti navedeni u deklaraciji funkcije function tablica($r,$s) { // kod funkcije } $a = $_GET[‘redak’]; $b = $_GET[‘stupac’]; tablica($a,$b); • Unutar funkcije možemo koristiti samo $r i $s! • Vrijednost $r = $a, a vrijednost $s=$b

  10. Vježbe • Napišite funkciju tablica() koja prihvaća dva rgumenta (željeni broj redaka i stupaca) te ispisuje HTML tablicu sa željenim brojem redaka i stupaca • Napišite funkciju potenciraj() koja prihvaća dva argumenta (broj koji se potencira i potenciju) te vraća rezultat u varijablu

  11. 4. Slanje argumenata po referenci • Poseban slučaj kada želimo izmjeniti vrijednost varijable bez vraćanja podataka iz funkcije function potenciraj(&$broj,$potencija=2) $a=3; potenciraj($a); echo $a; // 9 • Može prouzročiti bug-ove koje je vrlo teško uočiti

  12. 5. Uključivanje blokova i biblioteka • Moderne web aplikacije koriste uzorke (patterns) koji predviđaju visoku modularizaciju koda • dijeljenje koda u više datoteka • posebne datoteke za svaku klasu • posebne datoteke za skupine pomoćnih f-ja • posebne datoteke za sučelje aplikacije • ...

  13. 5. Uključivanje blokova i biblioteka • Za povezivanje (uključivanje) vanjskih datoteka koristimo 4 ugrađene funkcije • include(‘ime_datoteke.htm’); • include_once(‘ime_datoteke.htm’); • require(‘ime_datoteke.htm’); • require_once(‘ime_datoteke.htm’); • include – ako ne uspije = WARNING • require – ako ne uspije = FATAL ERROR

  14. 5. Uključivanje blokova i biblioteka • Datoteke mogu sadržavati samo komad HTML, CSS ili JS koda (npr. html zaglavlja i podnožja stranice) • U tom slučaju kod ne smije biti zatvoren u <?php i ?> oznake • header.inc • <html><head><title>Naslov</title></head> • uključujemo u glavnu stranicu index.php // kod include(‘header.inc’);

  15. 5. Uključivanje blokova i biblioteka • Datoteke mogu sadržavati deklaracije klasa ili funkcija • U tom slučaju se najčešće radi poddirektorij “classes” ili “functions”, a datoteke u tom direktoriju dobivaju nazive prema nazivu klase ili skupini funkcija • Npr. index.php classes/ Person.php Department.php functions/ database.php math.php

  16. 5. Uključivanje blokova i biblioteka • Ako sadrži klasu ili funkciju sadržaj datoteka koje se uključuju mora biti zatvoren u <?php i ?> blokove • Npr. u datoteci Person.php <?php class Person { // kod } ?>

  17. Vježbe • Napravite jednostavan HTML dizajn stranice sa zaglavljem, središnjim dijelom i podnožjem • Razdijelite HTML kod zaglavlja od ostatka kod i spremite ga u zasebnu datoteku • Isto za podnožjem • Napravite PHP datoteku u koju ćete uključiti obje datoteke a između njih generirajte neki sadržaj (npr. ispis 10 brojeva u petlji ili sl.) • Možemo li to napraviti ako HTML dizajn sadrži tablice? (<table><tr><td>.....</td></tr></table>)

  18. 6. Doseg varijabli funkcija • Varijable deklarirane unutar klase ili funkcije nisu vidljive izvan funkcije • Varijable deklarirane izvan klase ili funkcije nisu vidljive unutar klasa ili funkcija • Svaki blok koda u PHP-u je zaseban • Varijable činimo dostupnima korištenjem ključne riječi global $ime_var

  19. 6. Doseg varijabli funkcija • Primjer: $c = mysql_connect(‘server’,’user’,’pas’,’baza’); function getPerson() { global $c; // upit u bazu } • i obratno...ali se to rijetko radi...

  20. Vježbe • Napravite PHP datoteku koja na početku definira nekoliko varijabli. • Deklarirajte neku funkciju i pokušajte pristupiti tim varijablama • Dodajte ključnu riječ global ispred varijabli • Pokušajte ponovno • Pokušajte obratno (deklarirajte varijablu unutar funkcije.....)

More Related