Pogledajte određenu poruku
Staro 24. 08. 2009.   #10
holodoc
član
Certified
 
Datum učlanjenja: 27.11.2007
Poruke: 71
Hvala: 10
12 "Hvala" u 11 poruka
holodoc is on a distinguished road
Default

Uvek je teško govoriti o preporukama kojim putem krenuti a pogotovu ako je u celu priču umešana stavka "ocekujem platu 500+ evra" s obzirom da je taj kriterijum krajnje subjektivan i veoma često nema konkretne veze sa time koliko je developer zaista sposoban i iskusan.

Iz mog ličnog iskustva sa PHPom koje započinje svoju karijeru negde tamo dok je PHP 3.1.2 bio aktuelan pokušaću što je kraće moguće da sumiram svoje utiske o njemu.

1) PHP je sa verzijom 5 postao izuzetno moćan OOP skripting jezik a nadolazeća verzija 6 itekako ima u planu da nastavi pravim putem. To takođe znači da je sa PHP 5 konačno postalo moguće implementirati design patterne koji sami po sebi nisu specifični za bilo koji jezik već jednostavno traže određen set OOP karaktersitika samog jezika da bi mogli da se implementiraju. Dokaz da je ovo tačno je i veliki broj PHP frameworka koji su se pojavili odmah po objavljivanju "petice" mada su neki frameworci tipa "CodeIgniter" funkcionisali i na "četvroci".

Kad smo već kod teme frameworka mogu da preporučim samo jednu stvar svakome ko želi ozbiljno da se bavi PHPom jednog dana. Zaboravite na frameworke kao svoje primarne alate za rad. Zašto to kažem? Postoji nekoliko razloga a najbitniji je da se njihovim preteranim korišćenjem jednostavno stiče navika da se rešenja za sve probleme nalaze u frameworku što nije tačno. Vremenom ceo framework počinje da liči na jednu apstraktnu celinu za koju je neophodno samo poznavati kako funkcionišu "ulaz" i "izlaz" a ostatak nije važan a to je po mom iskustvu veoma loša medveđa usluga i pored cele filozofije o ciljevima OOPa.

Druga stvar zbog koje veoma često ne preporučujem korišćenje frameworka (posebno početnicima) je činjenica da su svi do jednog bloatovani nepotrebnim smećem koje mora da se iskoristi i za najjednostavnije operacije koje bi samostalno mogle da se koduju u nekoliko linija uz mnogo manji utrošak resursa na inicijalizaciju klasa i ostalog đubreta koje uopšte nije potrebno za rad. Svi PHP framework sistemi pate od toga bez izuzetaka.

Zato bih svakako preporučio da kad god je moguće razvoj bude zasnovan na delovima koda (klasama, funkcijama) koje su lično napisane i koje su dovoljno dobro poznate da bi se vremenom uočili i uklonili njihovi nedostaci.Tačno je da je izbor frameworka malo i deo pomodarstva i da se većina ljudi zaleti odmah u startu da uči "Zend Framework" ali je isto tako tačno da bez dobrog poznavanja OOPa ljudi nema šta da traže u blizini Zenda. Isto tako malo ljudi je upoznato sa činjenicom da se kreiranje Zend aplikacije u stvari sastoji iz dva dela, prvi sam posao oko pisanja koda a drugi optimizacija koda kako bi se početne katastrofalne perfomanse poboljšale. Zbog čega? Bloat! Jedini framework koji sam našao da je poprilično skalabilan i vredan uopšte razmatranja kada su framework PHp sistemi i njihove perfomanse bitne jeste "CodeIgniter". Nažalost (ili na radost ne znam ni sam) njegova arhitektura je donekle podređena i "četvroci" PHPa tako da često kada se koristi može da se stekne osećaj da upravo te nazadne funkcionalnosti vuku ceo framework unazad. Sa druge strane velika prednost CIa (upravo posledica navedenog) je nenadmašiva brzina jer ne pokušava apsolutno sve zamislivo da implementira putem klasa.

2) MySQL se najčešće koristi kod razvoja PHP aplikacija mada sve ostale kombinacije su naravno u opticaju (Oracle, MSSQL, PostgreSQL, Firebird, SQLLite...). Dobra strana PHPa je da za sve veće RDBMS sisteme ima podršku kroz odgovarajuće ekstenzije.

3) Jako neprecizno pitanje ali u suštini što se tiče server-side dela PHP se uglavnom koristi samostalno. Tu i tamo doduše često se koriste sistemski pozivi binarnih izvršnih fajlova kao što je recimo ImageMagick itd. ali u suštini PHP deluje poprilično samostalno.

4) Lista "taskova" je u suštini veoma širok pojam Dakle sve na šta si skoro navikao u toku rada na .NET platformi (doduše ova stavka zavisi i od količine iskustva koje si tu pokupio) sa velikom sigurnošću ćeš naći i na listi zahteva PHP aplikacija.
holodoc je offline   Odgovorite uz citat