Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Zašto uciti PHP


CoreDogs

Teach and learn the Web's core tech.

Effective, efficient, and with dogs.

Zašto učiti PHP?

Gde smo mi?

Da li treba da trošite vreme učeći PHP na CoreDogs-u? Ova lekcija gleda deo tog pitanja: zašto učiti PHP uopšte?

Ciljevi ove lekcije

Do kraja ove lekcije,trebalo bi da:

  • Znate šta PHP radi.
  • Znate kako učenje PHP-a može da vam pomogne.
  • Znate zašto je bolje početi sa PHP-om nego sa drugim jezicima,kao što je Java ili ASP.NET.

Šta PHP radi?

Najlakše je razumeti uz primer.

Ljudi imaju sajt koji se zove Facebook. Možda ste i vi sami čovek (neću vam zameriti), i imate Facebook nalog.

Pretpostavimo da želimo da kreiramo Snoutbook, kao Facebook, ali za pse. Jedno svojstvo će biti kao zid na Facebook-u. Zid je mesto gde ljudi mogu da stave tekst, fotografije,i druge stvari. Evo dela mog zida (molim vas,nemojte reću ljudima na Facebook-u da sam stvarno pas):

My wall

Slika 1. Moj zid

Snoutbook će imati istu stvar,ali ćemo je zvati drvo.

Kada Ivan postavi novi unos na svoje drvo, drugi psi će to videti:

Ivan's tree

Slika 2. Ivan-ovo drvo

Evo kako će to da radi:

Snoutbook

Slika 3. Snoutbook

Mazie kuca http://snoutbook.com u svoj pretraživač. Web server je software koji šalje nazad HTML za tu stranicu. Najpoznatiji Web server je Apache. Možete ga koristiti besplatno. Pričaćemo više o tome u narednom poglavlju.

Web serveri nisu dobri u skladištenju velikog broja podataka. Ali serveri baze podataka jesu dobri u tome. Dakle Web server šalje Ivan-ov post serveru baze podataka. Kada Mazie želi da pogleda Ivan-ovo drvo,Web server dobija podatke od servera baze podataka, i formatira ih.

Postoji mnogo različitih servera baze podataka. Jedan od najpoznatijih je MySQL. Takođe je besplatan.

Ali,čekajte,čekajte! Postoji problem. Web serveri ne znaju kako da pričaju serverima baze podataka! Arghhhhh! Šta da radimo?

Unesite PHP.

PHP kod može biti ugrađen direktno u HTML fajlove,baš kao JavaScript.

tree.php

Slika 4. tree.php

Za razliku od JavaScript-a,PHP iskazi se pokreću na Web serveru. Mogu da obavljaju stvari servera, kao pristup bazama podataka.

Fajlovi obično imaju ekstenziju .php umesto .html. Tako da,ako je Mazie želela da pogleda Ivan-ovo drvo, njen pretraživač će tražiti tree.php pre nego tree.html. Ali pretraživač će i dalje dobiti HTML kod.

Evo šta se dešava kada Mazie pogleda Ivan-ovo drvo (tree).

Snoutbook's architecture

Slika 5. Struktura Snoutbook-a

Pretraživač pita server za tree.php (1). Web server – Apache, recimo – učitava fajl tree.php sa diska u memoriju (2). Web server vidi da je ekstenzija fajla .php, i šalje fajl PHP tumaču(interpreter) (3).

PHP interpreter je program, koji radi na istom kompjuteru kao Apache. On zna kako da prati instrukcije napisane u PHP jeziku. Ove PHP instrukcije je napisala neka osoba – čovek,pas, ili neko drugo inteligentno biće.

Dakle PHP interpreter pokreće PHP kod u tree.php (4). Ovaj kod pita server baze podataka za postove na Ivan-ovom drvetu. Server baze podataka vraća podatke.PHP kod umotava podatke u HTML tagove, kao <p> i <div>.

Kada završi pokretanje čitavog koda,PHP interpreter šalje rezultat nazad Web serveru (5). Rezultat će biti gomila HTML-a, kreirana od strane PHP koda u tree.php. Server tada šalje podatke pretraživaču (6).

Pretraživač dobija samo HTML. On ne zna,ili ga nije briga što je to generisano od strane programa.

Dakle,to je ono što PHP radi. PHP kod radi na serveru, i generiše HTML (obično – može proizvesti i druge tipove podataka,takođe).

Dakle,zašto je ovo važno?

Ovo je Veliki,Debeli,Dlakavi Posao

Kada Mazie kaže svom pretraživaču da dobavi tree.php, ona vidi nešto drugačije svaki put. Ono što ona vidi zavisi od toga šta je u bazi podataka. Ako je Ivan nešto dodao, baza podataka će biti promenjena, i tree.php će prikazati drugačiji sadržaj.

Tehnologija programiranja na strani servera(Server-side programming) Web čini onim što je danas.To je sposobnost skladištenja podataka od jedne osobe i pokazivanje podataka nekom drugom ko je važan.

Ova tehnologija stoji iza YouTube-a, Amazon-a, Twitter-a, Facebook-a, i, dakle, otprilike svakog velikog sajta za koji ste čuli. To Web čini onim što je danas.

Programiranje na strani servera(Server-side programming) takođe stoji iza mašina za pretraživanje kao Google, Yahoo, i Bing. Oni grabe Web stranice i skladište ih. Kada vršite pretragu, program radi na jednom od njihovih servera, i pristupa skladištenim podacima.

Ovi sajtovi ne koriste obavezno PHP.Ljudi koriste mnoge jezike za Web programiranje,uključujući PERL,ASP.NET, C, C++, C#, Java, Ruby, i Python. Više o tome kasnije.

Zašto će vam učenje PHP-a pomoći?

Hajde da pričamo o tome kako vam učenje PHP-a može pomoći.

Da razumete kako Web zaista radi

Nećete znati kako Web radi osim ako ne znate nešto o procesiranju na strani servera (server-side processing). Postojaće velika rupa u vašem znanju. Nećete znati kako je većina Web stranica koje svakodnevno viđate kreirana.

Da razumete vrednost biznisa na Web-u

Većina biznis vrednosti Web-a zavisi od strane servera.Želite da prodate proizvode online?Podaci o vašem proizvodu će biti u bazi podataka.Web stranice koje opisuju proizvode biće generisane od strane programa napisanih u PHP-u (ili nekom drugom jeziku).

Ako podesite Web shop(prodavnicu), verovatno nećete napisati sopstvenu PHP “korpu”(shopping cart). Upotrebili biste neku koju je neko drugi napisao. Ali ako razumete kako sve to radi, možete da upravljate software-om efikasnije. Što nas dovodi na...

Da instalirate i upravljate software-om

Imate na hiljade PHP aplikacija iz kojih da birate. Mnoge od najpopularnijih Web aplikacija na svetu su napisane u PHP-u: WordPress, Drupal, Joomla, i mnoge druge.

Ako naučite malo PHP-a, videćete da je lakše da instalirate i upravljate ovim aplikacijama.Dokumentacija i diskusije na forumima će imati više smisla za vas.

Takođe ćete moći da…

Da prilagodite i ekstendujete software

Možete da upotrebite PHP da ekstendujete postojeće aplikacije. Možete ih izmeniti da se poklapaju sa vašim tačnim zahtevima.

CoreDogs je takav. To je Drupal sajt. Drupal je veoma moćan sistem za upravljanje sadržajem (content management system). Ali on ne radi sve što sam hteo.

Na primer, CoreDogs ugrađuje vežbe direktno u stranicu. Pokazuje vežbe koje ste završili u vašem portfoliu. Pretpostavimo da želite da podelite neka od vaših rešenja sa,recimo,vašim rođakom Jim-om. Možete da odaberete vežbe koje želite da on vidi, i pošaljete mu URL koji ih nabraja.

Drupal nema ova svojstva. Ali vam dopušta da dodate sopstvena svojstva. Ovo je bio jedan od razloga zbog kojih sam odabrao Drupal. Da biste dodali sopstvene “module” (kako se Drupal ekstenzije zovu), treba da ste u stanju da napišete PHP.

Da napišete sopstvene programe

Možete napisati jednostavne PHP programe za mnoge zadatke. Na primer, možete izgraditi kontakt stranicu. Ili stranicu koja korisnicima pomaže da preporuče sajt prijatelju. Čak je i jednostavnu funkciju za chat(ćaskanje) lako napisati.

CoreDogs vas neće preobraziti u profesionalnog PHP programera. Ali otkrićete da tu ima mnogo svakodnevnih stvari koje ćete moći da radite sa PHP-om.

Da radite sa drugima efikasnije

Ako radite za veliku kompaniju, možete se kladiti da se PHP ili neki drugi server-side jezik koristi na mnogima od sajtova firme. Ako još uvek niste naleteli na neki,hoćete.

Možda će vas pitati da radite na nekom od tih sajtova, kao kreator dokumenata, grafički dizajner, menadžer projekta, ili u nekoj drugoj ulozi. Možda ćete raditi sa PHP programerima. Moćićete da radite sa njima efikasnije ako razumete alate koje oni koriste.

Ako vodite Web sajt malog preduzeća,možda ćete angažovati i nadgledati PHP ugovorce.Bićete u stanju da to radite bolje ako i sami znate malo PHP-a.Takođe ćete moći da im objasnite šta želite,i razumete njihove odgovore na vaša pitanja.

Da odlučite da li je programiranje na strani servera(Server-side programming) za vas

Postoji mnogo različitih Web poslova. Dizajner, umetnik, pisac, menadžer zajednice, tester upotrebljivosti, osoba za marketing, server admininstrator,... Oh, i programer.

Učenje o PHP-u će vam pomoći da odlučite koliko programiranja na strani servera(server-side programming) želite u svojoj karijeri.

Postoje dobri razlozi zašto je vredno učiti server-side programming. Ali…

Zašto PHP umesto Java-e, ASP.NET-a, Ruby-a, ...

Postoje dva razloga zbog kojih je najbolje početi sa PHP-om.

PHP ima široku upotrebu

PHP je po svoj prilici najrasprostranjeniji server-side programming jezik (pogledajte ovaj članak , na primer). Koristi se na milionima servera širom sveta.

Vežba: HotScripts

HotScripts je kolekcija Web programa i stvari koje se na njih odnose. Oni izlistavaju skripte(scripts) (još jedna reč za programe) po jeziku. Koji jezik ima najviše skripti? Koliki procenat njihovih skripti je u PHP-u?

(Ulogujte se da unesete svoje rešenje za ovu vežbu.)

PHP je veoma popularan u svetu open source-a(otvoreni kod),gde aplikacije kao WordPress i Drupal žive. Jedan od razloga je što je i sam PHP open source(otvoreni kod).

Ovo znači da će vaše PHP veštine biti vredne mnogim različitim ljudima (uključujući i vas!).

Vežba: PHP aplikacije na vašem hosting nalogu

Otvorite kontrolni panel na vašem share-ovanom hosting nalogu. Ukoliko nemate nalog, nabavite ga.

Verovatno imate nešto kao Fantastico, koji vas pušta da instalirate software na vašem nalogu. Evo kako deo moje Fantastico stranice izgleda:

Fantastico

Slika 1. Fantastico

Ima nekih aplikacija koje će Fantastico instalirati za mene.

Odaberite deset ili otprilike toliko aplikacija nasumično. Otkrijte koji server-side programming jezik koriste. Navedite broj koji svaki različiti jezik koristi.

(Ulogujte se da unesete svoje rešenje za ovu vežbu.)

PHP je (relativno)lak za učenje

Nemojte napraviti grešku: programiranje je teško. Za većinu ljudi,svakako.

Ono sa čim ljudi imaju problema nisu programski jezici, već način razmišljanja o dizajnu programa. A ovo dolazi samo sa praksom,praksom i više prakse.

Ali i dalje je neke jezike lakše naučiti od drugih. Java je jedan od težih. To je dobar jezik,ali veoma strukturiran, i težak za početnike da krenu od njega.

Dva od jezika najlakših za učenje su JavaScript i PHP. Čak i nekoliko redova JavaScript-a i PHP-a mogu da urade korisne stvari. Možete da počnete da pišete programe brzo, a da ne morate prvo da naučite puno stvari.

Rezime

PHP programi rade na Web serverima. Oni puštaju Web stranice da skladište podatke na serverima baze podataka.Programi na strani servera(server-side programs) su od suštinskog značaja na današnjem Web-u.

Učenje PHP-a vam može pomoći da:

  • Razumete kako Web zaista radi
  • Razumete biznis vrednost na Web-u
  • Instalirate i upravljate software-om
  • Prilagodite i ekstendujete software
  • Pišete sopstvene programe
  • Radite sa drugima efikasnije
  • Odlučujete o karijeri

PHP se naširoko koristi. Lak je za učenje, za programski jezik.

Šta sada?

Hajde da pričamo o CoreDogs načinu učenja PHP-a. Trebalo bi da odlučite da li je to prava stvar za vas.


© 2010 CoreDogs| All rights reserved|

Published (Last edited): 05-12-2012 , source: http://coredogs.com/lesson/why-learn-php