Dwa 2
This presentation is the property of its rightful owner.
Sponsored Links
1 / 20

DWA 2 PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on
  • Presentation posted in: General

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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Dwa 2

DWA 2

Lesson 01


Modularnost i funkcije

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

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


Vje be

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 !!!


Pisanje i itanje dokumentacije

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


Vje be1

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


2 vra anje rezultata funkcije

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!


Vje be2

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


3 slanje argumenata funkciji

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


Vje be3

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


4 slanje argumenata po referenci

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


5 uklju ivanje blokova i biblioteka

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

    • ...


5 uklju ivanje blokova i biblioteka1

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


5 uklju ivanje blokova i biblioteka2

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’);


5 uklju ivanje blokova i biblioteka3

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


5 uklju ivanje blokova i biblioteka4

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 }

    ?>


Vje be4

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>)


6 doseg varijabli funkcija

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


6 doseg varijabli funkcija1

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


Vje be5

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


  • Login