Download - PHP za pocetnike - predavanje 6
PHP za početnike
Academy387 Nermin Šehić
Predavanje 6
Zadaca 2
• https://github.com/newPrimitives/php-kurs/blob/master/lecture4/homeworkSolution.php
Recap: predavanje 5• Definicija funkcije
• Sintaksa
• Primjeri koristenja
• Pass by value & pass by reference
• Global VS local varijable
• Optional i required varijable
• Pagination
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
OOP
• Svaka klasa se pise u zasebnom PHP file-u
• Instanca te klase se mode koristiti kroz citavu aplikaciju
Primjer klase
• Klasa pas
• Property klase pas: boja, godine, rasa, pol
• Metode klase pas: spava(), laje(), trci()
Sintaksa klase u PHP
• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/classBasic.php
Built in klase u PHP
• http://php.net/manual/en/book.imagick.php
Property klase
• Property klase je varijabla koja opisuje klasu
• Moze se inicijalizirati unutar klase, individualno kroz objekat ili kroz metodu
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
Metode u klasi
• Metode su u sustini funkcije koje su definisane unutar klase
Primjeri metoda
• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/GenerateHTML.php
Visibility level
• Visibility level neke metode ili propery-a određuje njegovu dostupnost
• Postoje tri nivoa visibility level-a - public- protected- private
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
Visibility level
• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/visibility.php
• Private i protected variable ne utica na sigurnost web stranice i koriste se u svrhu developmenta i boljeg koda
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.
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.
Person
• name • date of birth • place of birth • gender
Student
• student id • year of study
Professor
• employee id • courses teaching
• https://github.com/newPrimitives/php-kurs/blob/master/lecture6/inheritance.php
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
Model (logika aplikacije)
View (prezentacija)
Controller (predstavlja model
useru)
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
To sum up…• OOP
• Klase
• Property klase
• Metode klase
• Visibility level
• Inheritance
• MVC
Pitanja?
• Naredno predavanje: Utorak 27.10.2015
• http://www.slideshare.net/NerminSehic/php-za-pocetnike-predavanje-6