PHP je jezik koji se nalazi iza mnogih veoma uspešnih i moćnih web aplikacija, uključujući nezaobilazni Facebook i nezaustavljivi WordPress.
Učenje novog programskog jezika može biti poprilično obeshrabrujuće za većinu ljudi koji se upuste u tu avanturu, pa smo za vas pitali nekoliko PHP eksperata za savet novajlijama u PHP svetu (nadamo se da će u narednim nedeljama biti predstavljeno i nekoliko saveta za korisnike srednjeg nivoa, kao i za one koji su napredni).
Ako ste novi PHP developer ili iskusni “igrač”, molimo vas da ostavite komentar na dnu članka kako bi ljudi koji žele da nauče ovaj jezik saznali na koji način ste vi počeli i šta je to što je učenje PHP-a učinilo lakšim.
1. Elizabeth Naramore: Počnite sa OOP
Naramore je zaposlena u SourceForge-u i osnivač sajta PHPWomen.org. Potpune početnike ona savetuje da dobiju dobru osnovu u konceptu objektno orijentisanog programiranja (OOP), pre nego što krenu sa PHP-om.
“Ako dolazite iz industrije koja nije tehnička, potrošite malo vremena da naučite principe razvoja softvera. Obratite pažnju na stvari kao što su OOP, razvoj vođen testiranjem, kontrola verzija, debugging, dizajn, paterni itd.”
“Ako ste poklušali da rešite problem, ali vam ne uspeva nemojte se plašiti da pitate. PHP zajednica generalno je veoma prijateljska i želi da pomogne, a u okviru nje postoji bezbroj resursa za početnike koji mogu biti od pomoći. Uključite sebe u zajednicu, bez obzira da li je to lokalna grupa korisnika, zajednica nekog open source projekta ili IRC kanal na kojem možete chat-ovati sa drugim PHP developerima.”
2. Keith Casey: Googlajte
Casey je osnivač prodavnice softvera i radi dosta stvari van krugova konferencija i kongresa.
Njegov savet se bazira na nalaženju mesta u PHP zajednici i praćenja dobro poznate izreke: “Izguglaj pre nego što pitaš.”
“Povežite se odmah sa nekom grupom korisnika PHP-a. Takve grupe postoje širom celog sveta gde se pametni ljudi okupljaju i razmenjuju mišljenja i ideje, istražite ih i pomozite jedni drugima.”
“Upamtite da uvek probate Google pretragu pre nego što pitate. Niko ne voli lenjost.”
3. Eamon Leonard: Priključite se open source projektima
Leonard vodi softversku kompaniju “Echolibre” u Irskoj i jedan je od osnivača CloudSplit-a, servisa koji u realnom vremenu analizira cloud računarstvo. Kao i mnogi od njegovih kolega, on preporučuje da se uključite u open source projekat, čak i kao početnik.
“Uključite se u neki open source projekat čim shvatite osnove… Na ovaj način dobijate pristup source kodu i priliku da učite od veterana u industriji.”
“Pronalaženje i dokumentovanje bagova koji se mogu reprodukovati je zadatak koji iziskuje vreme, takvu pomoć ceni svaki team open source projekta … Kada govorimo o zapošljavanju developera koji će raditi sa nama, mi mnogo više cenimo nečiji potencijalni doprinos našoj kompaniji ukoliko je taj kandidat radio na nekom OSS projektu.”
4. Lorna Jane Mitchell: Just Do It
“Lornajane,” kao Mitchell je mnogo poznatija online i ona je PHP konsultant, developer, piše i drži prezentacije o ovom programskom jeziku.
Ona u svojim prezentacijama daje savet koji se čestom može čuti u krugovima hakera: Just do it.
“Uskočite u celu priču! PHP je pristupačan jezik i vrlo brzo se u njegovim okvirima može napredovati. Najbolji način da saznate da li se nešto može uraditi je da probate to da uradite.”
“Bilo ko može da programira u PHP-u. Problem je što postoji dosta lošeg PHP koda širom sveta. Ali loš PHP koji radi je koristan čak i ako nije baš toliko lep. Lično smatram da ako možete svoj problem da rešite kroz PHP onda se bacite na to i rešite svoj problem, čak i ako to nije savršen način.”
5. Chris Cornutt: Izbegnite prezasićenje
Cornutt vodi PHPDeveloper.org i Joind.in, a PHP koristi od 1998. godine. U svojim savetima za PHP početnike on upozorava na zamor u kodiranju i gubljenje volje.
“Mislim da se novi developeri zasite vrlo brzo… Početnici vole jezik i kodiraju u njemu koristeći mentalitet “bitno je da radi”, ali više od polovine stane kod ove tačke.”
“Pokušajte da pronađete mentora koji će vas provesti kroz ove početne korake. Mnogo je drugačije kada imate nekoga sa kim možete da popričate. IRC je dobra opcija, ali osoba kod koje možete da odete i da se njom popričate licem u lice je mnogo bolja varijanta.”
“Na sreću, početnici imaju kompletan Web sa velikom količinom PHP sajtova i primera koji im mogu pomoći kada se nađu u nezgodnoj situaciji. Neki od primera su dobri, neki manje dobri, ali će jedne od dugih naučiti da prepoznaju tokom vremena. PHP development, kao i sve ostalo, je zanat koji se mora “ispeći” — ne možete uleteti u sred cele priče i biti ekspert preko noći.”
6. Abraham Williams: Probajte Drupal
Williams je developer i samoproklamovani “haker advokat.” On takođe savetuje uključivanje u neki PHP projekat, pri čemu prednost daje open source radu.
”Nađite kvalitetan projekat ili zajednicu (po mogućstvo open source orijentisanu) u kojoj biste dali svoj doprinos. Pokušajte da shvatite kod, ljude i običaje zajednice. Ne samo što ćete naučiti od iskusnih developera, već ćete imati uvid u kvalitetan kod i prijateljsku zajednicu svojih kolega. Oni će biti više nego raspoloženi da preporuče unapređenja koda , pa čak i da vas savetuju kako da budete bolji član zajednice.”
“Preporučujem Drupal projekat kao dobru polaznu tačku. Sazreo je, ima fenomenalnu zajednicu, odličan rast i postoji dosta poslovnih ponuda za Drupal developere.”
7. Demian Turner: Proučite iskusne kodere
Turner radi na web-u i open source projektima od 1996. godine. Vodi PHPKitchen.com i bio je skorašnji finalista Seedcamp-a.
Imao je gomilu odličnih saveta za nove PHP developere, savete koji mogu da uštede vreme, doprinesu boljem kodu i održe vaše interesovanje za kodiranje.
“Čitajte kod iskusnih developera; to je uvek bolji i čistiji način da završite posao. Nemojte da izmišljate točak; imaćete uvek više nego što je dovoljno da uradite; koristite cenjene biblioteke kad god možete da izbegnete kodiranje “od nule”.”
“Postarajte se da vaš kod može da pročita ljudsko biće; ako ne možete da ga razumete za pola godine, kako će se neko drugi snaći?”
“Uvek pokušajte da pojednostavite stvari; mnogo je teže napisati jednostavniji kod, ali konzistentni refactoring če vam uštedeti dosta vremena i smanjiti glavobolje kada dođe održavanje na red.”
“Na kraju, pročitajte šta imaju da kažu fantastični programeri i saznajte kako su oni ostali tako “zagrejani”za kodiranje posle toliko godina.”
8. Stuart Herbert: Naučite razvoj testiranjem, enkapsulaciju i kontrolu source-a
Herbert programira u PHP-u od 1999. godine; piše o PHP-u već nekoliko godina i u velikoj meri je doprineo razvoju Gentoo Linux-a.
Nove PHP developere savetuje: “Naučite razvoj vođen testiranjem i enkapsulaciju. Kada dobro savladate ove koncepte kod ćete proizvoditi mnogo brže, a ko god bude koristio vaš kod, biće vam zahvalan.”
“I naučite kontrolu source-a; to nikada nije opciono!”
On takođe kaže da je najveća snaga PHP-a “fantastična dokumentacija koja je dostupna besplatno na sajtu PHP.net. Kod nekih drugih jezika morate kupovati dokumentaciju i knjige, ali ne i kod PHP-a.”
9. Maggie Nelson: Pročitajte o smeštanju podataka (Data Storage)
Nelson je PHP developer trenutno zaposlena u Flickr-u. Ona savetuje novajlije da uče o smeštanju podataka rano u svojim karijerama.
“U najvećem broju slučajeva koristićete PHP za web aplikacije. Ubedljive web aplikacije bivaju one koje koriste podatke na neuobičajen način ili na način koji rešava svakodnevne probleme. Ako tek počinjete sa PHP-om i ovo je vaš prvi programski jezik, proučite na početku smeštanje podataka i takođe naučite pomalo SQL usput. PHP je poznat po tome što je veoma dobar u kombinaciji sa bazama. Proučite MySQL, druge relacione baze i upustite se u par NoSQL rešenja za smeštanje podataka.
“Napišite ceo kod “od nule” bar za jednu svoju aplikaciju. PHP svet nudi dosta odličnih framework-a koji mogu sa lakoćom da abstrahuju pristupanje podacima, ali uvek budite sigurni da znate kako se manipuliše podacima iza kulisa!”
10. Michael Maclean: Učite o bezbednosti
Maclean je PHP i Python developer nastanjen u Outer Hebrides-u u Škotskoj.
On kaže: “PHP je dost lak jezik za korišćenje, zato ga i koristi toliko ljudi, ali mislim da je važno pogledati šta rade ljudi koji ga koriste neko vreme. Umesto što pišete sve od nule pogledajte par framework-a koji će vam verovatno dati malo vetra u leđa pri startu.”
“Sledeće što treba uraditi je naučiti o sigurnosti. PHP je dobio malo lošiju reputaciju zbog toga u prošlosti, što je efekat njegove lake upotrebe. Postoji dosta izvora online, kao i u štampanom obliku o tome kako izbeći bezbednosne probleme. Neke preporuke su knjige koje su napisali autori Chris Shiflett i Ilia Alshanetsky.”
Koji su vaši saveti?
Odvojite malo vremena i u komentarima napišite neke svoje savete za novajlije u PHP jeziku. Voleli bismo da čujemo vaše mišljenje.
Gud, Dobar je ceo blog. Bas mi se svidja.. Sto se tice php-a toplo bih svim novajlijama preporucio da pogledaju wordpress ili neki ozbiljniji cms (joomla, glfusion, drupal whatever) kako je iskodiran i koncipiran i da kroz kod uce i sami stvari (lak je i uglavnom ima dosta dokumentacije). Sto se tice ozbiljnih programa na web-u ne mislim da je php bas idealan. Iako dosta njih pa i sam Cukerberg hah kazu da je FB uradjen u PHP-u realnost je malo drugacija… Jednostavno je nemoguce iskontrolisati takvo sto i da osnova bude PHP. Mislim da je tu Ruby ili Python ili neki takav jezik (Go, Dart ili nesto novo) uradio veci deo posla… Twitter je uradjen u Ruby-ju (barem tako pricaju) i dobar je primer… neceg novog. Google + je radjen u svemu osim u PHPu (Go, Dart i neki novi Python…) Tako da… PHP je mocan, ali ne bas i svemocan 🙂 WordPress je radjen u PHPu medjutim WordPress.com i Automattic kao firma ne mislim da funkcionisu iskljucivo uz PHP 🙂 Pozdrav!
Osim Stefana, a njemu hvala, niko da se javi i ostavi svoje iskustvo, a vise sam ocekivao u komentarima nego u tekstu od upitanih strucnjaka. PHP ili neki drugi programski jezik, tek savladacu ga da gori zemlja!
i ja sam na samom pocetku krecem na css mysql i html da bi izgurao php ali polako
Kao i obično, u svakoj sferi u Srbiji, postoje stručnjaci i sturčnjaci i dobri ljudi. Zajednice na WEB-u, naročito programerske, ali i bilo koje druge gde nekome možeš postati konkurencija su totalno nezainteresovane da uvedu novajlije u to što ih interesuje. Pa tako i ovde.
Ali kao što reče Nenad, naučiću ga makar s kozom na oranje išao!
Stefane, Nenade i Boss … imate li neke lepe, pametne literature za pocetke ?
Druze ne kupuj knjige sve imas na netu ! a oni non stop updejtuju PHP 5 sad je mozda 5.7 npr
Preporučujem Lynda tutorijale, imate na torrentima, php sa sql, nije loše 😉
e sad, ja sam sto bi rekli totalni novajlija po pitanju php.
dosta gledam tutorijale, citam forume i sto vise gledam nekako sve manje razumem i znam 🙂
isao sam na kratak kurs html+css uradio samostalno (mali) sajt (predavac je rekao da izgleda sasvim ok)
pre par dana sam upisao php kurs koji traje 3 meseca ali koliko sam shvatio nije napredan kurs 🙁
moj najveci problem je engleski jezik (slabo, slabo, veoma slabo)
e sad ako neko ima konkretno neki savet kako poceti najbolje uciti php neka javi!
pozdrav!
Djordje
Za početnike ,preporučujem “PHP and MySQL for dummies” kao i “beginning php and mysql from novice to professional 4th edition”. Pored toga potreban je Wamp ili Lamp server instaliran na računaru ,i Sublime Text 2 (zato što određene linije koda menjaju boje kada su nepravilno napisane).
Tutorijali na w3school i codeacademy su isuviše šturi(mada je W3school dobar za učenje front-end developmenta).
Google i stackoverflow su uvek tu da pripomognu.
Nakon toga Laravel ili Symphony frejmvork ,napraviti svoj sajt sa bazom podataka ,freelance ili volontiranje u nekoj firmi. Što više svog koda se napiše, utoliko bolje.
Po oglasima se može videti koji jezici su najtraženiji ,takođe kao i koji frejmvorkovi i ostalo (OOP pristup pre svega)
Kao prvo developeri su toliko ne zainteresovani da objasne pocetniku pocetak.Na kraju dzabe objasniti kad osnovu ne razumiju.Ja sam php web developer pocetnik.Prvo morate da naucite html.css.pa onda php.pa oop.tek onda malo javascripta.i kad sve sazvacete u prilicno pocetnoj dozi.krenite u Cms da proucavate.Ako ne znate sta ide u osnovne tagove i sta je mysql baza ne mozete u CMS.U OVOJ PRICI IT STRUKE nikad ne znate sta znate i koliko treba da ucite.Za jedan sajt treba da ste i dizajner.i developer.i da imate OKO za te stvari i VELIKU….ZELJU ZA UCENJEM DO BESVJESTI.