SlideShare a Scribd company logo
PHP za početnike
Academy387
Nermin Šehić
Predavanje 11
Recap predavanje 10
• PDO
• Insert sa PDO
• Prepared statement
• Select & Join sa PDO
• Delete sa PDO
• HTML Forma
Note:
• Naredne prezentacije ne sadrzavaju teoretski
dio, vec su zamisljene da budu svojevrsi guide
kroz development aplikacije koja se nalazi na
github repozitoriju.
MVC Blog
• MVC stuktura aplikacije
• Front i admin dio
• Baza podataka
• Forme
• Ispis podatka na view
PHP fajlovi
• https://github.com/newPrimitives/php-kurs/tree/
master/lecture11
Baza podataka
• https://github.com/newPrimitives/php-kurs/blob/
master/lecture11/database/blog_2015-11-12.sql
Struktura aplikacije
• Inicijalni korak jeste organizovanje strukture aplikacije tako
da fajlovi budu logicki grupisani
• Svaki view na nasoj aplikaciji ce imati poseban folder
unutar kojeg cemo imati 2 fajla: view(html) dio i controller
(php dio).
• Poseban folder je rezervisan za model (konekcija sa
bazom i ispis iz baze)
• Kompletan CSS i slike ce biti grupisan u zaseban folder
koji cemo nazvati “public” 

Staticki dio
• Da bi u postpunosti shvatili atribute koji ce biti
potrebni u nasoj bazi podataka, prvi korak ce biti
da definisemo view-ove koje ce nasa aplikacija
imati te da isprogramiramo sav staticki sadrzaj.
• U ovom slucaju to su view-ovi za dodavanje
autora, dodavanje clanka, ispis svih clanaka te
ispis pojedinacnih clanaka.
Baza
• Nakon sto znamo koje forme ce nasi view-ovi
imati pristupamo dizajnu baze.
• Baza ce imati dvije tabele: author i articles, sa
one-to-many vezom (1 autor moze napisati vise
clanaka)
• S obzirom da imamo samo dvije tabele potreba
za crtanjem ERD nije velika, medjutim u slucaju
vecih projekata ERD bi bio prioritet
Konekcija u modelu
• Nakon sto smo definisali nase views te
isprogramirali bazu, naredni korak jeste da kroz
PDO u nasem modelu napravimo konekciju
• Konekcija sa bazom se obicno testira sa nekim
dummy query-em
• Ukoliko ispis rezultata SELECT * FROM
table_name ne izbaci error konekcija je uspjesna
Kontroleri
• Naredni korak jeste da nase staticne stranice
pretvorimo u dinamicke
• Za svaki HTML page koji smo napravili na pocetku
definisemo controller, te zavisno od toga kakvi nam
podaci trebaju dodajemo funckije u model
• Trenutno nas model ima samo 1 funkciju, a to je veza
sa bazom
• Kako aplikacija bude rasla tako ce se i funkcionalnost
naseg modela povecavati
Testiranje
• Iako cemo prilikom svake nove funkcionalnosti
testirati nas kod dobra je praksa da se na kraju
testira kompletan flow
• Naredno predavanje: 17.11.2015
• http://www.slideshare.net/NerminSehic/php-za-
pocetnike-predavanje-11

More Related Content

Viewers also liked

PHP za pocetnike - predavanje 9
PHP za pocetnike - predavanje 9PHP za pocetnike - predavanje 9
PHP za pocetnike - predavanje 9
Nermin Sehic
 
PHP za pocetnike - predavanje 8
PHP za pocetnike - predavanje 8PHP za pocetnike - predavanje 8
PHP za pocetnike - predavanje 8
Nermin Sehic
 
PHP za pocetnike - predavanje 4
PHP za pocetnike - predavanje 4PHP za pocetnike - predavanje 4
PHP za pocetnike - predavanje 4
Nermin Sehic
 
PHP za pocetnike - predavanje 5
PHP za pocetnike - predavanje 5PHP za pocetnike - predavanje 5
PHP za pocetnike - predavanje 5
Nermin Sehic
 
PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3
Nermin Sehic
 
PHP za pocetnike - predavanje 7
PHP za pocetnike - predavanje 7PHP za pocetnike - predavanje 7
PHP za pocetnike - predavanje 7
Nermin Sehic
 

Viewers also liked (6)

PHP za pocetnike - predavanje 9
PHP za pocetnike - predavanje 9PHP za pocetnike - predavanje 9
PHP za pocetnike - predavanje 9
 
PHP za pocetnike - predavanje 8
PHP za pocetnike - predavanje 8PHP za pocetnike - predavanje 8
PHP za pocetnike - predavanje 8
 
PHP za pocetnike - predavanje 4
PHP za pocetnike - predavanje 4PHP za pocetnike - predavanje 4
PHP za pocetnike - predavanje 4
 
PHP za pocetnike - predavanje 5
PHP za pocetnike - predavanje 5PHP za pocetnike - predavanje 5
PHP za pocetnike - predavanje 5
 
PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3PHP za pocetnike - predavanje 3
PHP za pocetnike - predavanje 3
 
PHP za pocetnike - predavanje 7
PHP za pocetnike - predavanje 7PHP za pocetnike - predavanje 7
PHP za pocetnike - predavanje 7
 

Similar to PHP za pocetnike - predavanje 11

Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacija
Damjan Pavlica
 
Decouple Goals
Decouple GoalsDecouple Goals
Decouple Goals
Sasa Blagojevic
 
Sibin Grasić - Najčešće greške WP developera
Sibin Grasić - Najčešće greške WP developeraSibin Grasić - Najčešće greške WP developera
Sibin Grasić - Najčešće greške WP developera
Startit
 
Pitanja kss (1)
Pitanja  kss (1)Pitanja  kss (1)
Pitanja kss (1)Milos Ilic
 
Web logs: Collecting and analysing - Nikola Krgovic
Web logs: Collecting and analysing - Nikola KrgovicWeb logs: Collecting and analysing - Nikola Krgovic
Web logs: Collecting and analysing - Nikola Krgovic
Institute of Contemporary Sciences
 
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
Infinum
 
Migration to 9i
Migration to 9iMigration to 9i
Migration to 9i
Zoran Popovic
 
2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitektura2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitektura
Marko Mitranić
 
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
Sekcija bibliotekara i knjznicara ZIS
 
Napredne tehnike razvoja web aplikacija - Zend Framework
Napredne tehnike razvoja web aplikacija - Zend FrameworkNapredne tehnike razvoja web aplikacija - Zend Framework
Napredne tehnike razvoja web aplikacija - Zend FrameworkSaša Stamenković
 
Android vs iOS development
Android vs iOS developmentAndroid vs iOS development
Android vs iOS development
Vuk Nikolić
 
Front-end development iz ugla .NET programera
Front-end development iz ugla .NET programera�Front-end development iz ugla .NET programera�
Front-end development iz ugla .NET programera
Startit
 
Kako UI Frameworci rade protiv vas/tebe
Kako UI Frameworci rade protiv vas/tebeKako UI Frameworci rade protiv vas/tebe
Kako UI Frameworci rade protiv vas/tebe
Gabrijel Mrgan
 
Seminarski-rad-cms
Seminarski-rad-cmsSeminarski-rad-cms
Seminarski-rad-cms
IgorKocevski3
 
Mendeley
MendeleyMendeley
Mendeley
Zorica Jankovic
 
Koliko možemo da savijemo Dynamics 365, a da ne pukne?
Koliko možemo da savijemo Dynamics 365, a da ne pukne?Koliko možemo da savijemo Dynamics 365, a da ne pukne?
Koliko možemo da savijemo Dynamics 365, a da ne pukne?
Vladimir Ljubibratic
 
Seminarski diplomski koristenje www-i-ostalih-web-servera
Seminarski diplomski koristenje www-i-ostalih-web-serveraSeminarski diplomski koristenje www-i-ostalih-web-servera
Seminarski diplomski koristenje www-i-ostalih-web-servera
maturalni
 
Getting bigger with flask
Getting bigger with flaskGetting bigger with flask
Getting bigger with flaskJosipKatalinic
 

Similar to PHP za pocetnike - predavanje 11 (19)

Projektovanje web aplikacija
Projektovanje web aplikacijaProjektovanje web aplikacija
Projektovanje web aplikacija
 
Decouple Goals
Decouple GoalsDecouple Goals
Decouple Goals
 
Sibin Grasić - Najčešće greške WP developera
Sibin Grasić - Najčešće greške WP developeraSibin Grasić - Najčešće greške WP developera
Sibin Grasić - Najčešće greške WP developera
 
Pitanja kss (1)
Pitanja  kss (1)Pitanja  kss (1)
Pitanja kss (1)
 
Web logs: Collecting and analysing - Nikola Krgovic
Web logs: Collecting and analysing - Nikola KrgovicWeb logs: Collecting and analysing - Nikola Krgovic
Web logs: Collecting and analysing - Nikola Krgovic
 
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
 
Migration to 9i
Migration to 9iMigration to 9i
Migration to 9i
 
2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitektura2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitektura
 
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
Zotero – nekomercijalni softver za organizovanje bibliografskih baza podataka...
 
Napredne tehnike razvoja web aplikacija - Zend Framework
Napredne tehnike razvoja web aplikacija - Zend FrameworkNapredne tehnike razvoja web aplikacija - Zend Framework
Napredne tehnike razvoja web aplikacija - Zend Framework
 
Android vs iOS development
Android vs iOS developmentAndroid vs iOS development
Android vs iOS development
 
Front-end development iz ugla .NET programera
Front-end development iz ugla .NET programera�Front-end development iz ugla .NET programera�
Front-end development iz ugla .NET programera
 
Kako UI Frameworci rade protiv vas/tebe
Kako UI Frameworci rade protiv vas/tebeKako UI Frameworci rade protiv vas/tebe
Kako UI Frameworci rade protiv vas/tebe
 
Seminarski-rad-cms
Seminarski-rad-cmsSeminarski-rad-cms
Seminarski-rad-cms
 
Java
JavaJava
Java
 
Mendeley
MendeleyMendeley
Mendeley
 
Koliko možemo da savijemo Dynamics 365, a da ne pukne?
Koliko možemo da savijemo Dynamics 365, a da ne pukne?Koliko možemo da savijemo Dynamics 365, a da ne pukne?
Koliko možemo da savijemo Dynamics 365, a da ne pukne?
 
Seminarski diplomski koristenje www-i-ostalih-web-servera
Seminarski diplomski koristenje www-i-ostalih-web-serveraSeminarski diplomski koristenje www-i-ostalih-web-servera
Seminarski diplomski koristenje www-i-ostalih-web-servera
 
Getting bigger with flask
Getting bigger with flaskGetting bigger with flask
Getting bigger with flask
 

PHP za pocetnike - predavanje 11

  • 1. PHP za početnike Academy387 Nermin Šehić Predavanje 11
  • 2. Recap predavanje 10 • PDO • Insert sa PDO • Prepared statement • Select & Join sa PDO • Delete sa PDO • HTML Forma
  • 3. Note: • Naredne prezentacije ne sadrzavaju teoretski dio, vec su zamisljene da budu svojevrsi guide kroz development aplikacije koja se nalazi na github repozitoriju.
  • 4. MVC Blog • MVC stuktura aplikacije • Front i admin dio • Baza podataka • Forme • Ispis podatka na view
  • 7. Struktura aplikacije • Inicijalni korak jeste organizovanje strukture aplikacije tako da fajlovi budu logicki grupisani • Svaki view na nasoj aplikaciji ce imati poseban folder unutar kojeg cemo imati 2 fajla: view(html) dio i controller (php dio). • Poseban folder je rezervisan za model (konekcija sa bazom i ispis iz baze) • Kompletan CSS i slike ce biti grupisan u zaseban folder koji cemo nazvati “public” 

  • 8. Staticki dio • Da bi u postpunosti shvatili atribute koji ce biti potrebni u nasoj bazi podataka, prvi korak ce biti da definisemo view-ove koje ce nasa aplikacija imati te da isprogramiramo sav staticki sadrzaj. • U ovom slucaju to su view-ovi za dodavanje autora, dodavanje clanka, ispis svih clanaka te ispis pojedinacnih clanaka.
  • 9. Baza • Nakon sto znamo koje forme ce nasi view-ovi imati pristupamo dizajnu baze. • Baza ce imati dvije tabele: author i articles, sa one-to-many vezom (1 autor moze napisati vise clanaka) • S obzirom da imamo samo dvije tabele potreba za crtanjem ERD nije velika, medjutim u slucaju vecih projekata ERD bi bio prioritet
  • 10. Konekcija u modelu • Nakon sto smo definisali nase views te isprogramirali bazu, naredni korak jeste da kroz PDO u nasem modelu napravimo konekciju • Konekcija sa bazom se obicno testira sa nekim dummy query-em • Ukoliko ispis rezultata SELECT * FROM table_name ne izbaci error konekcija je uspjesna
  • 11. Kontroleri • Naredni korak jeste da nase staticne stranice pretvorimo u dinamicke • Za svaki HTML page koji smo napravili na pocetku definisemo controller, te zavisno od toga kakvi nam podaci trebaju dodajemo funckije u model • Trenutno nas model ima samo 1 funkciju, a to je veza sa bazom • Kako aplikacija bude rasla tako ce se i funkcionalnost naseg modela povecavati
  • 12. Testiranje • Iako cemo prilikom svake nove funkcionalnosti testirati nas kod dobra je praksa da se na kraju testira kompletan flow
  • 13. • Naredno predavanje: 17.11.2015 • http://www.slideshare.net/NerminSehic/php-za- pocetnike-predavanje-11