26
PHP za početnike Academy387 Nermin Šehić Predavanje 6

PHP za pocetnike - predavanje 6

Embed Size (px)

Citation preview

Page 1: PHP za pocetnike - predavanje 6

PHP za početnike

Academy387 Nermin Šehić

Predavanje 6

Page 2: PHP za pocetnike - predavanje 6

Zadaca 2

• https://github.com/newPrimitives/php-kurs/blob/master/lecture4/homeworkSolution.php

Page 3: PHP za pocetnike - predavanje 6

Recap: predavanje 5• Definicija funkcije

• Sintaksa

• Primjeri koristenja

• Pass by value & pass by reference

• Global VS local varijable

• Optional i required varijable

• Pagination

Page 4: PHP za pocetnike - predavanje 6

OOP• Objektno orijentisano programiranje je metoda

programiranja kojoj je temeljni princip da se klasa definise kao samostalna programska cjelina koja opisuje nesto.

• Unutar klase definisemo metode i varijable koje opisuju klasu

• Objekat je instanca klase i objekat koristimo da pristupimo metodama te klase

Page 5: PHP za pocetnike - predavanje 6

OOP

• Svaka klasa se pise u zasebnom PHP file-u

• Instanca te klase se mode koristiti kroz citavu aplikaciju

Page 6: PHP za pocetnike - predavanje 6

Primjer klase

• Klasa pas

• Property klase pas: boja, godine, rasa, pol

• Metode klase pas: spava(), laje(), trci()

Page 7: PHP za pocetnike - predavanje 6

Sintaksa klase u PHP

• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/classBasic.php

Page 8: PHP za pocetnike - predavanje 6

Built in klase u PHP

• http://php.net/manual/en/book.imagick.php

Page 9: PHP za pocetnike - predavanje 6

Property klase

• Property klase je varijabla koja opisuje klasu

• Moze se inicijalizirati unutar klase, individualno kroz objekat ili kroz metodu

Page 10: PHP za pocetnike - predavanje 6

Primjeri property-a u klasi

• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/classProperties1.php

• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/classProperties2.php

Page 11: PHP za pocetnike - predavanje 6

Metode u klasi

• Metode su u sustini funkcije koje su definisane unutar klase

Page 12: PHP za pocetnike - predavanje 6

Primjeri metoda

• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/GenerateHTML.php

Page 13: PHP za pocetnike - predavanje 6

Visibility level

• Visibility level neke metode ili propery-a određuje njegovu dostupnost

• Postoje tri nivoa visibility level-a - public- protected- private

Page 14: PHP za pocetnike - predavanje 6

Visibility level

• Metode i varijable deklarisane kao public se mogul pristupiti sa bill kojeg mjesta u aplikaciji

• Metode i varijable deklarisane kao protected su dostupne unutar klase i svih klasa koje nasljeđuju tu klasu

• Metode i varijable deklarisane kao private su dostupne samo unutar te klase

Page 15: PHP za pocetnike - predavanje 6

Visibility level

• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/visibility.php

Page 16: PHP za pocetnike - predavanje 6

• Private i protected variable ne utica na sigurnost web stranice i koriste se u svrhu developmenta i boljeg koda

Page 17: PHP za pocetnike - predavanje 6

Inheritance

• Naziv nasljeđivanje odnosi se na činjenicu da jedna klasa može naslijediti dio ili svu strukturu i ponašanje od druge klase.

• Klasa koja nasljeđuje zove se podklasa (subclass) klase od koje nasljeđuje.

• Ako je klasa B podklasa klase A onda ja klasa A nadklasa (superclass) klase B.

Page 18: PHP za pocetnike - predavanje 6

Inheritance

• Podklasa može nadopunjavati strukturu i ponašanje klase koju nasljeđuje, a može i zamijeniti ili izmijeniti naslijeđeno ponašanje, ali ne i naslijeđenu strukturu.

Page 19: PHP za pocetnike - predavanje 6

Person

• name • date of birth • place of birth • gender

Student

• student id • year of study

Professor

• employee id • courses teaching

Page 20: PHP za pocetnike - predavanje 6

• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/inheritance.php

Page 21: PHP za pocetnike - predavanje 6

MVC

• MVC: Model - View - Controller

• MVC je “arhitektonska schema” koja se koristi za strukturisanje aplikacije, foldera, klasa i funkcija

• Osmisljen 1979, postao popularan zahvaljujuci Struts i Ruby on Rails frameworcima

Page 22: PHP za pocetnike - predavanje 6

Model (logika aplikacije)

View (prezentacija)

Controller (predstavlja model

useru)

Page 23: PHP za pocetnike - predavanje 6

Zadaca 3

• Skinuti template za zadacu 3

• Template sadrzi klasu User koja ima name, date of birth, place of birth property-e

• Napraviti klasu academyStudent koja nasljeđuje klasu user i ima jos dva property-a: kurs i trajanje kursa

Page 24: PHP za pocetnike - predavanje 6

To sum up…• OOP

• Klase

• Property klase

• Metode klase

• Visibility level

• Inheritance

• MVC

Page 25: PHP za pocetnike - predavanje 6

Pitanja?

Page 26: PHP za pocetnike - predavanje 6

• Naredno predavanje: Utorak 27.10.2015

• http://www.slideshare.net/NerminSehic/php-za-pocetnike-predavanje-6