TEST RUN
PhpEd, phpDesigner, PDT Eclipse, Zend Studio 6.0
Zaokruženi PHP razvoj
Miša BREŽANAC
1. avgust 2008.

Ono što je, pre skoro dve decenije, započelo kao skup CGI skriptova napisanih u programskom jeziku C za potrebe lakšeg održavanja lične prezentacije, polako ali sigurno preraslo je u jednu od najpopularnijih open source platformi za razvoj web aplikacija na svetu. Popularnost i rasprostranjenost PHP-a, pre svega kao slobodne i besplatne alternative komercijalnim, često komplikovanim i preskupim web tehnologijama, tokom godina poprimila je neslućene razmere, a sam PHP postao je veoma čest izbor za izradu kako slobodnih i besplatnih, tako i komercijalnih web aplikacija.

Uporedni test PHP razvojnih okruženja

Međutim, vremenom, kako je kompleksnost PHP-a rasla, postalo je jasno da je za dalji efikasan rad bilo potrebno prekinuti dotadašnju tradiciju pisanja PHP koda u običnim tekstualnim editorima i preći na korišćenje specijalizovanih razvojnih okruženja, koja će posedovati bar mali deo naprednih opcija koje su u to vreme već uveliko imala razvojna okruženja kalibra Microsoft Visual Studio i slična. Nažalost, prvobitna softverska rešenja, koja su pokušavala da naprave pionirske korake na ovom polju, veoma brzo su se pokazala kao potpuno neadekvatna, tj. kao totalni promašaji. Nestabilnost, katastrofalni debuggeri i tromost u radu učinili su da prođe dosta vremena dok svetlost dana ne ugledaju PHP razvojna okruženja koja svojim kvalitetom mogu da pariraju pomenutoj konkurenciji iz sveta komercijalnog i vlasničkog softvera.

Danas se može slobodno reći da je priča krenula potpuno drugačijim tokom. Savremena okruženja za razvoj PHP aplikacija mogu se pohvaliti daleko većim brojem mogućnosti kao i neuporedivo većom upotrebljivošću od svojih predaka. Sintaksno bojenje koda i njegova kontekstna dopuna, zatim podrška za CVS i SVN repozitorijume, kao i izuzetno moćni debuggeri i profajleri jednostavno su opcije koje danas čak ni sadomazohistički nastrojeni PHP programeri više ne smatraju nepotrebnom šminkom. Konačno se slobodno može reći da je akcenat u toku izrade web aplikacija kompletno prebačen na sam proces izrade, umesto na konstantan lov za izgubljenim promenljivima i urlanje na omiljeni tekstualni editor.

Predstavićemo četiri najpopularnija PHP razvojna okruženja, kako iz open source sveta, tako i punokrvne komercijalne aplikacije namenjene isključivo PHP razvoju.

phpDesigner

PhpDesigner je razvijen sa očiglednom namerom da predstavlja direktnu alternativu Adobe Dreamweaveru, sa akcentom na razvoj PHP aplikacija. Dopadljiv i na prvi pogled dobro organizovan korisnički interfejs, upakovan u boje prijatne za oko, nagoveštava da se radi o programu u koji je uloženo dosta truda. Program raspolaže izuzetno velikim brojem opcija među kojima se izdvajaju integrisana podrška za FTP, uverljiv i odličan wizard za phpDocumentor (www.phpdoc.org), solidan broj opcija za uređivanje izgleda i profilisanje kôda itd. Od jezika čiju sintaksu phpDesigner poznaje, pored podrazumevanog PHP-a, izdvajaju se (X)HTML, CSS, Javascript, SQL, pa čak i nekoliko jezika kojima, uzevši u obzir prvobitnu namenu programa, tu baš i nije mesto, a to su VBscript, Perl, Java, C#, Python i Ruby. Program poseduje integrisani debugger XDebug (xdebug.org), koji je prethodno potrebno podesiti da bi pravilno funkcionisao na aplikacijama koje se ne testiraju lokalno. Jednostavno, sve što je potrebno za rad je tu... Ono čega nema u opcijama, prebogatim i pomalo prenatpranim toolbarovima, nalazi se u menijima. I upravo ta činjenica je i najveća mana phpDesignera. Jednostavno je nemoguće oteti se utisku da su autori preterali u pokušaju da u padajuće menije stave apsolutno svaku opciju za koju su mislili da mogu tu da je strpaju. Stvarno je nejasno kako drugačije protumačiti postojanje, recimo, jednog celog, i pre svega podugačkog podmenija koji sadrži desetak različitih načina za zatvaranje stringova navodnicima u kodu. Da stvar bude gora, neki elementi potpuno su nepotrebno implementirani u menijima, a nedostaju na mestima gde bi imali znatno više smisla, kao što su, recimo, serverske globalne promenjljive koje su uredno izlistane u jednom od padajućih menija, ali se zato ne pojavljuju kao opcija u okviru kontekstnog dopunjavanja koda. Listi zamerki pridružuje se i veoma jeftino rešen pristup bazi podataka preko phpMyAdmina (www.phpmyadmin.net), koji mora biti zasebno instaliran i koji se otvara u okviru samog programa umesto u browseru, što bi bio mnogo logičniji pristup. Opcije za pokretanje Filezille (filezilla-project.org) i rad sa SVN-om preko TortoiseSVN-a (tortoisesvn.tigris.org) takođe su prisutne, ali obe aplikacije moraju biti prethodno zasebno instalirane, a phpDesigner pravilno podešen kako bi mogle da se pokreću iz njega.

Kada se na kraju podvuče crta i sumiraju sve prednosti i mane, postaje jasno da će phpDesigner najverovatnije naći svoje poklonike i pored činjenice da konkurencija iz tabora „Open source” zajednice svojim proizvodima ozbiljno preti da ugrozi njegovu poziciju kao opcije za razmatranje prilikom odlučivanja za PHP razvojno okruženje.

PDT Eclipse

Za PDT slobodno se može reći da predstavlja jedan od najperspektivnijih, ako ne i najznačajnijih projekata kada su u pitanju open source rešenja namenjena PHP razvoju. U pitanju je dodatak za Eclipse (www.eclipse.org, SK 9/2007), koji u potpunosti prilagođava izgled njegovog radnog okruženja potrebama izrade PHP aplikacija. Instalacija PDT-a vrši se na jedan od dva ponuđena načina: dodavanjem na postojeću instalaciju Eclipsea ili jednostavnim preuzimanjem tzv. „all-in-one” paketa, koji u sebi već sadrži Eclipse sa preinstaliranim PDT-om. Naravno, osnovni preduslov za pokretanje PDT-a je taj da je instalirana bilo koja od Java virtuelnih mašina, a preporučuje se korišćenje Sunove varijante (java.sun.com).

I pored činjenice da uz PDT dolazi skoro sve što je potrebno za ugodan rad u njemu, uz pomoć ugrađenog sistema za dodavanje novih i nadogradnju postojećih dodataka u Eclipseu moguće je, uz zavidno visok nivo kontrole, prilagoditi kompletno razvojno okruženje PDT-a potrebama PHP programera. Tu su, pre svega, misli na dodavanje podrške za lokalne debuggere, koji se ne isporučuju uz PDT u slučaju da se isti instalira kao dodatak Eclipseu, ali su sastavni deo „all-in-one” paketa, zatim podrška za CVS i SVN repozitorijume itd. Što se tiče opcije daljinskog testiranja na greške (remote debugging), PDT podržava rad sa serverskim ekstenzijama xDebug i Zend debugger (www.zend.com/en/community/pdt), koje je potrebno prvo zasebno instalirati na test serveru kako bi ova opcija bila dostupna. Treba obratiti pažnju da instalacija Zend debuggera na serverima koji već poseduju instalisanu neku od Zendovih ekstenzija (primera radi veoma popularni Zend Optimizer (www.zend.com/en/products/guard/optimizer/), koji neretko dolazi kao sastavni deo svih poznatijih „all-in-one” XAMP paketa), dovodi do konflikta sa ekstenzijama debuggera, što može da ima za posledicu nemogućnost podizanja i ispravnog rada servera. Instrukcije o tome kako zaobići ovo ograničenje mogu se naći na Internetu.

Pored PHP-a, PDT podržava i CSS, (X)HTML i XML. Nažalost, izostala je podrška za refactoring PHP kod, to jest proces automatske izmene unutrašnje strukture klasa i funkcija, uz potpuno očuvanje njihove funkcionalnosti ka spoljašnjosti. Od opcija za automatsko uređivanje kôda prisutno je standardno Eclipseovo formatiranje blokova, dok je phpDocumentor podržan samo delimično. Direktan pristup bazama podataka iz okruženja takođe je moguć, ali uz prethodno instaliranje odgovarajućih Java konektora.

Činjenica da je PDT dostupan na svim operativnim sistemima na kojima postoji Java, kao i činjenica se radi o slobodnom i besplatnom Open source rešenju, katapultiraju ga u sam vrh ponude PHP razvojnih okruženja. Jedini realni nedostaci koji se mogu uputiti PDT-u nisu toliko direktno vezani za samu aplikaciju koliko za tehnologiju koja „pokreće” celo okruženje. To su tromost i hardverska zahtevnost Jave, koje posebno dolaze do izražaja sa povećanjem obima projekta. Ako uspete da se naviknete ili jednostavno pređete preko ovog nedostataka, boljeg saveznika u klasi PHP razvojnih okruženja „za dž” nećete naći.

PhpEd

Iz kompanije NuSphere stiže prvi od dva „teškaša” na ovom testu. U pitanju je aplikacija sa ubedljivo najvećim brojem opcija u okviru jednog samostalnog programa namenjenog izradi PHP aplikacija. Kao prvo, PhpEd je, pored neizbežnog PHP-a, sposoban da „razume” (X)HTML, Javascript, CSS, Perl, Python, Smarty template fajlove, SQL i XML. Za svaki od navedenih jezika postoji delimična ili potpuna podrška za opcije kontekstnog dopunjavanja i sintaksnog bojenja, odnosno blokovskog grupisanja koda (code folding) i automatskog naglašavanja trenutno aktivnog bloka. Kvalitetu čitljivosti kôda doprinose i dva izuzetna dodatka za njegovo „ulepšavanje”, CSE HTML Validator (www.htmlvalidator.com) i Poly Style (www.polystyle.com), oba u „lite”, odnosno „trial” varijantama, u okviru kojih su određene napredne mogućnosti formatiranja onemogućene.

Kompletna organizacija svih SSH, Telnet, FTP, WebDAV i konekcija na baze podataka centralizovana je na jednom mestu. Od podržanih DBMS-ova, kojima se iz programa može direktno pristupiti putem ugrađenog editora SQL upita, podržani su MySQL, PostgreSQL, MSSQL, SQLite i Firebird, uz bitnu napomenu da zbog problema sa licenciranjem određenih delova novih verzija MySQL-a nije moguće direktno iz PhpEda pristupati MySQL serverima bez dodatne intervencije nakon instalacije programa.

Kada je u pitanju debuggovanje koda, PhpEd je apsolutni i neprikosnoveni šampion na tom polju. Naime, debuggovanje se može izvršiti na jedan od tri ponuđena načina: lokalno, putem korišćenja jedne od dve CGI verzije PHP-a, koje se isporučuju uz instalaciju PhpEda (po jedna za verzije 4 i 5), putem internog servera koji automatski otvara stranicu u integrisanom Mozilla Firefox browseru (koji, takođe, dolazi uz instalaciju) ili daljinski, putem potpuno nezavisnog servera kao što su Apache ili IIS. Za pohvalu je i postojanje posebnog browser toolbara (doduše samo za Internet Explorer), putem kojeg je moguće direktno pokrenuti proces debuggovanja i profilisanja stranice koja je trenutno aktivna u browseru, a nalazi se na test serveru.

CVS je jedini direktno podržan kao sastavni deo instalacije PhpEda, a podršku za rad sa SVN-om veoma je lako dodati korišćenjem Shell menija putem kog se može pristupiti opcijama TortoiseSVN-a, koji je neophodno zasebno instalirati. Izuzetno korisnu stavku predstavljaju i offline verzije uputstava za gotovo sve relevantne tehnologije implementirane u okviru PhpEda, kao i wizardi za rad sa bazom podataka i nuSphere SOAP servisima.

Posle svega rečenog za PhpEd, nameće se pitanje kako jednom programu ovakvog pedigrea naći manu kada su jedine „prave” zamerke koje bi mogle da mu se upute vezane za nedostatak direktne podrške za sve popularniji SVN sistem, kao i činjenicu da je njegova Linux verzija praktično neupotrebljiva? Da ne bude zabune, Linux verzija nema zasad bilo kakvu aktivniju podršku razvojnog tima PhpEda, tako da je pomenuta zamerka praktično potpuno zanemarljiva. Za kraj, šta reći osim da se, ukoliko želite PHP razvojno okruženje koje će vam pružiti pažljivo izabrane opcije i funkcionalnosti koje će vam realno biti potrebne u svakodnevnom radu, sve to zapakovano u izuzetno brzu i stabilnu aplikaciju sa fantastičnim debuggerima i profilerima kôda pride, PhpEd nameće kao jedino logično rešenje.

Zend Studio

 
Od tvoraca PHP-a dolazi nam najnovija, šesta po redu, verzija Zend Studija, u okviru koje se autorski tim odlučio za potpunu promenu okruženja i prelazak iz do tada potpuno nezavisne desktop aplikacije, sa tek ponekom primesom u vidu Java dodataka, u potpuno Java okruženje. Naime, novi Zend Studio se, za razliku od svojih prethodnih verzija, bazira na već pomenutom PDT-u, uz koji dolazi kako veliki broj javno dostupnih i besplatnih, tako i određen broj vlasničkih, autorski zaštićenih dodataka čiji je autor sam razvojni tim Zend Studija. Upravo zbog toga se kao najlogičniji pristup opisu ovog okruženja možda čini direktno upoređivanje PDT-a i Zend Studija, tj. naglašavanje osnovnih razlika između ova dva paketa.

Za početak, razlike u korisničkom interfejsu ne postoje, što je i logično s obzirom na to da se baziraju na zajedničkom imenitelju oba projekta - PDT-u. Tek pogled na spisak raspoloživih perspektiva (različitih konfiguracija panela programa prilagođenih specifičnoj nameni) u Zend Studiju oduzima dah i otkriva pravo malo bogatstvo njegovih opcija. Od najznačajnijih dodataka, na prvom mestu se izdvaja tzv. PHP/HTML WYSIWYG editor, koji je konačno trebalo da omogući vizuelno konstruisanje stranica jednostavnim modelovanjem po principu Adobe Dreamweavera. Nažalost, koliko god lepo ovo zvučalo na papiru, u praksi se editor pokazao gotovo neupotrebljivim, pre svega zbog izuzetne tromosti i veoma čestog zaglupljivanja, pri čemu bi od potpuno ispravnog (X)HTML koda pravio „papazjaniju”.

S druge strane, ono što veoma dobro funkcioniše jeste gomila dodataka koji Zend Studiju dodaju direktnu podršku za rad sa SVN repozitorijumima, potpuno funkcionalan sistem refactoringa PHP kôda koji ne postoji u PDT-u, lokalni debuggeri i još mnogo, mnogo toga. Takođe, sva podešavanja u okviru opcija Zend Studija, pa čak i onih koje postoje i u „golom” PDT-u, dodatnim „utezanjem” dovedena su u optimalno stanje za svakodnevnu upotrebu. Na listu izuzetno korisnih stavki treba dodati i fantastičan wizard za phpDocumentor sa gomilom predefinisanih šablona, kao i izuzetno dobro odrađenu pomoćnu dokumentaciju za Zend Studio i sam PHP. Pravu poslasticu predstavlja tzv. MVC prikaz kôda, koji je specijalno namenjen vizuelnom prikazivanju elemenata PHP frameworkova koji su zasnovani na MVC principu. Ovde se, pre svega, misli na Zend framework (framework.zend.com) koji u poslednje vreme, kao potpuno besplatno i zaokruženo rešenje, stiče sve veći broj poklonika i postaje de facto standard u PHP „industriji”.

Za debuggovanje kôda u Zend Studiju zadužene su opcije za lokalno testiranje preko CGI verzije PHP-a kao i za daljinsko testiranje, uz napomenu da se zbog već navedenih potencijalnih konflikata Zend Debuggera sa ostalim Zendovim ekstenzijama preporučuje instaliranje nekog od gotovih serverskih rešenja za testiranje aplikacija kao što su Zend Core (www.zend.com/en/products/core/) ili Zend Platform (www.zend.com/en/products/platform/). Takođe, kao i u slučaju PhpEda, prisutan je browser toolbar za brzo debuggovanje i profilisanje aplikacija na test serveru, uz izuzetak da Zend Studio nudi i verziju toolbara za Firefox.

Što se mana Zend Studija tiče, izdvaja se jedna, ali vredna - katastrofalna tromost aplikacije koja u pojedinim trenucima skoro ume da dovede do očajanja. Naime, kombinacija Jave kao podloge na kojoj se Zend Studio zasniva i ogromnog broja dodataka koji rade u pozadini ili se naknadno učitavaju pravi od Zend Studija pravu pravcatu „mrcinu” koja se sadistički vuče kao prebijena čak i na, za današnje pojmove, relativno jakim računarima. Upravo pomenuta tromost jeste i osnovni razlog negodovanja velikog broja doskorašnjih vernih obožavaoca Zendovih razvojnih okruženja, zbog kojih konkurencija može samo zadovoljno da trlja ruke.

• • •

Na kraju se nameće pitanje za koju se od opisanih aplikacija odlučiti? PhpEd i Zend Studio nesumnjivo su apsolutni šampioni u kategoriji profesionalnih PHP razvojnih okruženja. Izuzetan nivo kompaktnosti, bogatstvo opcija i nenadmašan konfor u radu tek su neke od stavki koje se postavljaju pred ostala okruženja kao domaći zadatak. Fleksibilni sistemi licenciranja pomenutih programa, u okviru kojih se može pronaći odgovarajući tip licence za svakoga, već u samom početku garantuje višestruku isplativost ulaganja u bilo koji od pomenutih proizvoda. Eventualne nedoumice oko toga kom šampionskom taboru se prikloniti, PhpEdu ili Zend Studiju, najbolje je rešiti isprobavanjem i jednog i drugog, s obzirom na to da oba programa nude opciju testiranja u probnom periodu, tokom kojeg se može steći dobar utisak koje okruženje najbolje „leži”. S druge strane, za sve one koji su pri izboru ograničeni na open source rešenja ili jednostavno ne mogu da priušte sebi PhpEd ili Zend Studio, odlično rešenje jeste PDT. Štaviše, uz veoma malo truda i uz pomoć javno dostupnih dodataka, od PDT-a je moguće napraviti izuzetno moćno razvojno okruženje, koje veoma malo zaostaje po mogućnostima za Zendovom kreacijom. Negde na pola puta između open source rešenja i šampionskog tabora nalaze se rešenja poput phpDesignera, koja uz znatno manje investicija nude prilično veliki broj opcija koje, takođe, nude starija i moćnija braća. U svakom slučaju, ponuda izuzetno kvalitetnih PHP razvojnih okruženja bolja je nego ikada, a na vama je samo da se odlučite sa kojim od njih želite da se otisnete u vode PHP-a.

NazivPhpEdphpDesignerPDTZend Studio 6.0
Radna okruženja i projekti
Debagovanje koda
(lokalno preko CGI, interni debuger ili remote preko 3rd party servera)

(interno XDebug)

(lokalno (CGI) i eksterni Zend debugger - nije uključen u paket)

(lokalno CGI ili remote (Zend))
Code intelligence
Code explorer
Integrisan profiler
(WinCacheGrind)
Podrška za više programskih jezikaXHTML, Javascript, CSS,Perl, PHP, Python,Smarty tpl, SQL, XMLPHP, HTML, CSS, XML,Javascript, VBscript, SQL,Perl, Java, C#, Python, RubyPHP, HTML, CSS, XML(proširivo pluginovima)PHP, HTML, CSS, XML(proširivo plugin-ovima)
Source code controlCVS (eksterno,u instalaciji)SVN (integracijasa TortoiseSVN)CVS(proširivo SVN-om)CVS, SVN
Podrška za FTP i online foldereFTP, SFTP, WebDAVFTPFTP, SFTP
Direktan pristup bazi podatakaMySQL, PostgreSQL,MSSQL, Oracle,SQLite, Firebird
(preko PhpMyAdmina)

(potreban odgovarajući konektor)

(integrisana za većinu tipova)
Integrisan web browserMozilla Firefox
Integrisani priručnici i uputstva
phpDocumentor
Automatski uređivači kodaTidy (HTML, CSS, XHTML), Poly Style (trial)Tidy (HTML, CSS, XHTML), Poly Style (trial)
(interni Eclipse)

(integrisana PHP i Zend konvencija)
Podržani OS-oviWindows, LinuxWindowsWindows, Linux, MacOSWindows, Linux, MacOS
TipKomercijalanKomercijalanBesplatanKomercijalan
ProizvođačNuSphereMPSoftwareEclipse FoundationZend
Adresawww.nusphere.comwww.mpsoftware.dkwww.eclipse.orgwww.zend.com

PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama