Kurs Object Oriented Programming in PHP

Kurs Object Oriented Programming in PHP bavi se proučavanjem objektno orijentisanog načina programiranja u programskom jeziku PHP, gde se najveći deo aplikativne logike realizuje na samom serveru koristeći klase, objekte i druge funkcionalnosti ovog programskog jezika.

Za vreme trajanja kursa polaznici imaju prilike da se upoznaju sa najrelevantnijim pristupima za kreiranje takvih aplikacija, počevši od korišćenja klasa i objekata u njihovom prostom obliku do korišćenja enkapsulacije, nasleđivanja, apstraktnih klasa, interfejsa, traitova, prostora imena, refleksija, dizajn šablona koji proširuju mogućnosti rada sa klasama i objektima.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: PHP Web Development Program.

Opis i cilj kursa Object Oriented Programming in PHP

Polaznici će se u toku ovog kursa upoznati s time kako PHP funkcioniše u objektno orijentisanom načinu rada sa HTML-om, a posebno kroz rad sa HTML formama kao glavnim načinom razmene podataka između korisnika i servera ili aplikacije. Upoznaće se i sa rukovanjem kolačićima (cookies) i sesijama, koji predstavljaju dva glavna načina čuvanja stanja aplikacije, kao i sa uvodom u sigurnost u PHP-u.

Cilj kursa jeste osposobljavanje polaznika za samostalno kreiranje objektno orijentisanih aplikacija, odnosno web aplikacija koje na svom klijentskom delu intenzivno koriste PHP jezik. Polaznici se osposobljavaju da u potpunosti razumeju objektno orijentisano programiranje i sve ono što je bitno za njega, prvenstveno kroz PHP jezik, ali sa ciljem da ta znanja mogu preneti i na druge objektno orijentisane jezike po potrebi. Takođe, cilj da polaznici učvrste znanja koja imaju o radu sa podacima, putovanju podataka sa frontenda na backend kroz HTTP, kreiranju i radu sa HTML kontrolama i formama, te da usvoje nova znanja o rukovanju stanjima aplikacija kroz cookies i session funkcionalnosti, kao i o samoj osnovnoj sigurnosti u programskom jeziku PHP.

Kurs Object Oriented Programming in PHP će vam odgovoriti na pitanja:

1. Šta je objektno orijentisano programiranje u PHP-u?

Objektno orijentisano programiranje podrazumeva visok nivo apstrakcije, enkapsulaciju i portabilnost programskih celina. Za razliku od proceduralnog pristupa, objektni pristup nam omogućava da visoko apstraktnu celinu upotrebljavamo više puta i u različitim kontekstima, što znatno povećava efikasnost, naročito prilikom kreiranja velikih projekata.

U OOP-u, osnovni gradivni blok je objekat. Objekat je instanca strukture podataka koju smo definisali u okviru klase. Dakle, kada instanciramo klasu, pozivamo je u kodu. Mi u stvari kreiramo njenu instancu, to jest objekat te klase. Taj objekat poseduje neke karakteristične osobine i može se, na različite načine, iskoristiti kao materijal za izgradnju drugih, kompleksnijih objekata. Na taj način se dobija hijerarhijska objektna povezanost koja kreće od najprostijih, veoma apstraktnih elemenata, te ide do kompleksnijih, specijalizovanih elemenata.

2. Koji su osnovni pojmovi vezani za objektno orijentisano programanje u PHP-u?

Osnovni pojmovi, odnosno funkcionalnosti koje koristimo pri izradu objektno orijentisane web aplikacije jesu klase i objekti, koje smo već spomenuli, i pojmovi kao što su članovi klase – polja za čuvanje podataka i metode koje izvršavaju funkcionalnosti, apstraktne klase koje nam omogućavaju da definišemo apstraktne metode koje će naslednik ove klase morati kreirati, interfejsi koji određuju funkcionalnosti i metode koje klasa mora da implementira, traitovi koji pružaju mogućnost da definišemo više funkcionalnosti ili metoda koje može koristiti jedna ili više klasa, namespaceovi koji nam omogućavaju bolju organizaciju koda i refleksija koja nam omogućava uvid u samu klasu tokom rada sa njom.

3. Šta su dizajn šabloni (Design Patterns)?

Iako reč dizajn asocira na to da se možda radi o nekoj grafičkoj komponenti aplikacije, dizajn šabloni, zapravo, daleko su od toga. To su, u stvari, čisto programski oblici, koji imaju veze isključivo sa programskom strukturom aplikacije.

Dizajn šablon predstavlja standardno rešenje nekog opštepoznatog problema u programiranju. Do ovih rešenja se došlo tokom decenija upotrebe programskih jezika i upotrebom ovih šablona mi standardizujemo rešenje nekog čestog problema.

Iako reč šablon asocira na to da je to nešto što možemo primeniti po pristupu Copy/Paste, to nije tako. Šablon prikazuje kako se neki problem rešava, ali na nama je da ga pravilno integrišemo u objektnu strukturu naše aplikacije. Količina dostupnih šablona je velika i mi ćemo u kursu obraditi neke od najpoznatijih i najčešće korišćenih u PHP-u.

Kurs Object Oriented Programming in PHP

4. Šta je to PDO i zašto ga koristimo?

Skraćenica PDO je nastala kao verzalna skraćenica od reči PHP Data Objects. PDO je eksterna biblioteka i predstavlja interfejs za komunikaciju sa bazama podataka. Nudi unapređenu funkcionalnost u rukovanju bazama podataka u odnosu na standardnu, ugrađenu PHP funkcionalnost iste namene (mysql_, pg_...). Najveća prednost ove biblioteke se ogleda u tome da ima široku podršku za različite sisteme za rad sa bazama. Pored MySQL baza podataka, PDO podržava još 11 drugih tipova. Ovo je naročito značajno ukoliko postoji potreba da se promeni interfejs za rad sa bazom podataka. Kako se ovo postiže? PDO omogućuje sloj apstrakcije između podataka i njihovog pristupa, što znači da ne postoji direktna povezanost sa tipom baze podataka koji koristite. Uvek koristite iste PDO funkcije da stvarate upite i dobavljate podatke. Ovo automatski znači da ne morate da promenite celu logiku po kojoj pristupate podacima ako ste promenili tip baze podataka.

5. Šta je to MySQL i PHP biblioteka MySQLi?

MySQL (Structured Query Language) predstavlja jedan od najpoznatijih sistema čija je osnovna uloga upravljanje bazama podataka. MySQL sistem bavi se bazama koje čine kolekciju podataka organizovanih tako da se njima vrlo jednostavno može manipulisati. Ovaj sistem isporučuje se bez bilo kakvih alata, zajedno sa grafičkim korisničkim okruženjem za manipulaciju podacima, dok MySQLi predstavlja interfejs u PHP-u za komunikaciju sa MySQL bazom podataka. Za razliku od svojih prethodnika, MySQLi interfejs, pored proceduralnog pristupa, omogućava i objektno orijentisani pristup, u kome se kreira MySQLi objekat i rukovanjem njegovim metodama i atributima vršimo operacije nad bazom i njenim podacima. Pored OOP pristupa, korist od korišćenja ove biblioteke predstavljaju i pripremljeni upiti, podrška za transakcije, unapređena debug podrška, ali naravno, više o ovome biće rečeno u kursu.

6. Šta su kolačići?

Često web aplikacije od nas traže da prihvatimo kolačiće (cookies). Ali šta su u stvari kolačići i da li se iza bezazlenog imena krije neka potencijalna opasnost za korisnika?

Kolačići su informacije koje pregledač po nalogu neke web aplikacije snima na računar korisnika. 

Ali pisanje pregledača po fajl sistemu smatra se veoma delikatnom operacijom, pa se zbog toga kolačići snimaju pod posebnim uslovima i na posebnom mestu. U njima web aplikacija čuva informacije koje su karakteristične za korisnika kod koga je kolačić snimljen. Tako web aplikacija može da razlikuje korisnike i da svakom od njih pošalje odgovarajući sadržaj.

Zato, na primer, ako smo bili na web stranici sa cipelama, na nekoj drugoj stranici može nas sačekati reklama za cipele, a ako smo bili na stranici sa igračkama, videćemo reklame za igračke.

Kolačići sami po sebi nisu opasni, ali njihovom zloupotrebom ili lošom implementacijom moguće je naneti štetu korisniku. U okviru kursa Advanced PHP Programming naučićete kako se kolačići kreiraju, izmenjuju i brišu, a i najvažnije – kako da učinimo njihovu upotrebu bezbednijom za korisnike, pa tako i za web aplikaciju.

7. Šta je sesija?

Sesija je period vremena koje je neki korisnik proveo koristeći web aplikaciju. Sesija započinje kada korisnik pristupi web aplikaciji, bilo putem obrasca za prijavljivanje, forme login, pretrage ili na slične načine. Sesija je tada aktivna i pomaže pri prenosu informacije između delova web aplikacije. Ona se zatvara kada se korisnik odjavi, to jest izloguje iz aplikacije ili isključi pregledač. Sesija takođe može imati kolačić koji sačuva informacije o interakciji korisnika sa aplikacijom, za sledeće pristupanje. Na primer, često imamo kolačiće koji nas podsećaju da su nam ostali proizvodi dodati u korpu još od prethodne posete sajta. U okviru ovoga kursa videćete kako se sesija kreira, kako se podaci prenose sa strane na stranu i naročito važno, kako da zaštitimo sesiju od napada, naročito od napada zvanih session fixation i session hijacking.

Ipak, pomoću različitih tehnika ovaj problem se može prevazići, a aktivnosti korisnika mogu se pratiti.

Plan i program predavanja

Modul 1: Uvod

  • Tipovi programiranja
  • Koncepti objektno orijentisanog programiranja

Modul 2: Objektno orijentisano programiranje 

  • Klase i objekti
  • Članovi klase, polja i metode
  • Statični i instancni članovi klasa
  • Enkapsulacija, nasleđivanje, polimorfizam
  • Apstraktne klase
  • Interfejsi i traitovi
  • Anotacije i prostori imena
  • Refleksija
  • Dizajn šabloni
  • PHP i baze podataka: MySQL
  • PHP i baze podataka: PDO

Modul 3: Web Programiranje

  • PHP i HTML kontrole
  • Kretanje podataka kroz Request/Response proces
  • HTTP metode: GET, POST i procesiranje HTML formi
  • Rukovanje stanjima aplikacije: Cookies i Session
  • Sigurnost u PHP-u: kratak uvod

Polaznici na kursu Object Oriented Programming in PHP

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok 2024/25. je u toku.

Da saznate sve o upisu, kliknite ovde.

Prijavite se