vježba 6: php mvc vježbe

17
1 Vježba 6: PHP MVC vježbe Instalacija XAMPP-a/MySQL-a – Video: http://www.mediafire.com/download/fibb79d6ic995di/1_XAMPMySQL.7z TSC2 standalone codec: https://support.techsmith.com/attachments/token/unttvsdo6z76fpy/?name=Setup_TSC2.msi 1. Na C disku u folderu xampp, pronađite xampp-control.exe, zatim pokrenite Control panel i uključite servise za Apache i MySQL. 2. Na C disku pronađite folder PhpStorm i otvorite ga. Zatim u folderu bin pronađite PhpStorm.exe i pokrenite ga. 3. Nakon pokretanja PhpStorma kliknite na Enter licence i upišite licenčne podatke koji se nalaze na Z:Students u datoteci PhpStorm_Key.txt 4. Nakon što se PhpStorm otvorio provjerite postoji li koji projekt u njemu otvoren. Ako postoji odite na File/Close Project. Trebali biste dobiti sljedeći prikaz u PhpStormu: 5. Zatim kliknite na Create New Project, te odaberite sljedeće: a. Project name: PHPMVCG2

Upload: ngoduong

Post on 13-Feb-2017

260 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Vježba 6: PHP MVC vježbe

1

Vježba 6: PHP MVC vježbe

Instalacija XAMPP-a/MySQL-a – Video:

http://www.mediafire.com/download/fibb79d6ic995di/1_XAMPMySQL.7z

TSC2 standalone codec:

https://support.techsmith.com/attachments/token/unttvsdo6z76fpy/?name=Setup_TSC2.msi

1. Na C disku u folderu xampp, pronađite xampp-control.exe, zatim pokrenite Control panel i

uključite servise za Apache i MySQL.

2. Na C disku pronađite folder PhpStorm i otvorite ga. Zatim u folderu bin pronađite PhpStorm.exe i

pokrenite ga.

3. Nakon pokretanja PhpStorma kliknite na Enter licence i upišite licenčne podatke koji se nalaze na

Z:Students u datoteci PhpStorm_Key.txt

4. Nakon što se PhpStorm otvorio provjerite postoji li koji projekt u njemu otvoren. Ako postoji odite

na File/Close Project. Trebali biste dobiti sljedeći prikaz u PhpStormu:

5. Zatim kliknite na Create New Project, te odaberite sljedeće:

a. Project name: PHPMVCG2

Page 2: Vježba 6: PHP MVC vježbe

2

b. Location: C:\xampp\htdocs\xampp\PHPMVCG2

c. Project type: Empty project

6. Nakon toga odite na File/New/Directory i tako dodajte foldere:

a. application

b. views

UPOZORENJE: oba foldera moraju biti u PHPMVCG2 folderu/projektu

7. Nakon toga desnim klikom miša na PHPMVCG2, New/PHP File, dodajte php datoteku naziva

index.php

UPOZORENJE: Pazite na velika/mala slova i nazive!

8. U daljnjem dijelu vježbi će se raditi u folderu application.

9. Desnim klikom miša na application, New/PHP File dodajte prvi file naziva config

10. config.php vam se mora nalaziti u folderu application, te u njemu će se definirati parametri

konekcije na MySQL server.

Page 3: Vježba 6: PHP MVC vježbe

3

UPOZORENJE: Kod parametra DB_NAME, trebate upisati ime baze koja se nalazi na vašem serveru.

11. Nakon što su definirani parametri konekcije, desnim klikom miša na application, New/PHP Class

treba napraviti klasu Model

12. Zatim desnim klikom miša na application, New/PHP Class treba napraviti i klasu Db

Page 4: Vježba 6: PHP MVC vježbe

4

13. U klasi Db treba definirati privatnu statičnu varijablu db i javnu statičnu metodu init.

14. U metodi init treba provjeriti postoji li već aktivna konekcija u varijabli db, te ako ne postoji treba

je inicijalizirati.

15. Zatim će se staviti try..catch u slučaju izuzetka prilikom spajanja na bazu.

16. Nakon toga u try se pokušava spojiti na bazu s danim parametrima konekcije u config.php datoteci.

Page 5: Vježba 6: PHP MVC vježbe

5

17. Na kraju metode treba vratiti varijablu db u kojoj se nalazi konekcija.

18. Sada treba nastaviti programirati u Model klasi, definirajući dvije protected varijable (_db i _sql),

konstruktor, te jednu protected metodu i jednu javnu metodu.

Page 6: Vježba 6: PHP MVC vježbe

6

19. U konstruktoru se treba inicijalizirati konekcija, pozivajući statičnu metodu init iz klase Db, te tu

konekciju treba staviti u varijablu _db.

20. Pomoću metode _setSql treba se napuniti protected varijabla _sql primajući parametar sql _setSql

metode.

21. Metoda getRow prvo treba provjeriti je li je u protected varijabli _sql upit, te ako nije treba se

dobiti greška.

Page 7: Vježba 6: PHP MVC vježbe

7

22. Ako je upit u _sql varijabli, tu varijablu treba pripremiti za izvršavanje, te je zatim i izvršiti, te ako

je nastao kakav rezultat(vraćeni redovi) – dohvatiti ga.

23. Nakon završetka razvoja generičkog Modela, treba napraviti klasu naziva contactModel, u kojoj će

se definirati metoda za dohvaćanje first_name i last_name polja, contact-a s id 1.

24. Desnim klikom miša na application, New/PHP Class treba napraviti i klasu contactModel

25. Klasa contactModel treba naslijediti generičku klasu Model

Page 8: Vježba 6: PHP MVC vježbe

8

26. U klasi contactModel treba se definirati metoda koja će dohvaćati contact-ovo first_name i

last_name iz tablice my_contacts gdje je id = 1. Ta metoda nositi će naziv getContactById

27. U navedenoj metodi definirati će se potrebni upit, staviti u varijablu _sql pomoću metode _setSql

iz klase Model, te dohvatiti rezultat u varijablu contactDetails

28. Nakon toga u ISTOJ metodi (getContactById) treba provjeriti je li je varijabla contactDetails prazna

– ako je treba vratiti false, a ako nije treba vratiti rezultat u njoj.

Page 9: Vježba 6: PHP MVC vježbe

9

29. Kreiranje modela je završeno. Sada treba napraviti klase Controller i Load desnim klikom miša na

application, New/PHP Class

30. Odmah treba kreirati i praznu php datoteku u folderu views, desnim klikom miša na views,

New/PHP File, te datoteku treba nazvati someview

Page 10: Vježba 6: PHP MVC vježbe

10

31. Nakon kreiranja svih klasa i datoteke, treba se vratiti u klasu Controller, te definirati dvije javne

varijable (load i contactmodel), konstruktor i metodu naziva home

Page 11: Vježba 6: PHP MVC vježbe

11

32. Zatim u klasi Load treba napraviti metodu view s dva ulazna parametra.

33. Metoda view treba dohvatiti i uključiti datoteku koja će prikazati podatke iz modela

Page 12: Vježba 6: PHP MVC vježbe

12

34. Zatim se treba vratiti u klasu Controller i u konstruktoru inicijalizirati s ključnom riječju new klase

Load i contactModel, te na kraju pozvati metodu home iz klase Controller

35. Metoda home u klasi Controller treba izvršavati metodu getContactById iz klase contactModel i

metodu view iz klase Load

36. Sada je završen i razvoj Controllera, te je ostao još view.

37. U datoteci someview.php treba se napraviti HTML stranica koja će prikazivati podatke na

korisničkom sučelju.

38. Prvo se definiraju html tagovi:

Page 13: Vježba 6: PHP MVC vježbe

13

39. Zatim head i body:

40. U head-u meta charset i title:

41. U body-u h1 i php kod za prikaz:

Page 14: Vježba 6: PHP MVC vježbe

14

42. Zatim će se napraviti još jedna datoteka u application folderu, desnim klikom miša na application,

New/PHP File, te datoteku treba nazvati PHPMvcCore

43. U datoteci PHPMvcCore se trebaju uključiti sve datoteke (odnosno funkcionalnosti) ove aplikacije,

te nakon ukjluivanja svih datoteka treba inicijalizirati Controller

Page 15: Vježba 6: PHP MVC vježbe

15

NAPOMENA: Navedenim redom ih morate uključiti

44. Obzirom da u svim web lokacijama se uvijek automatski prva otvara stranica s nazivom index, te

upravo zbog toga u ovoj aplikaciji u toj aplikaciji treba uključiti PHPMvcCore.php datoteku.

Također uključiti će se i prikaz grešaka.

45. Nakon toga otvorite najnoviju verziju internet preglednika po vašem izboru, zatim u navigation

bar-u upišite localhost:{broj porta vašeg apache servera(zanemarite 443)} (primjer:

localhost:8080).

Page 16: Vježba 6: PHP MVC vježbe

16

46. Potvrdite autentifikaciju, te u navigation baru dopišite PHPMVCG2 i zatim stisnite enter

Page 17: Vježba 6: PHP MVC vježbe

17

Samostalni zadatak

1. Postojeću aplikaciju nadogradite s vašim kodom tako da u view-u ispod first_name-a i last_name-

a, budu prikazana i polja email i location iz tablice my_contacts.