php blog magyarul

Smarty for Eclipse PDT

Van egy szép, okos, hasznos fejlesztőkörnyezetünk (Eclipse PDT), amivel PHP projekteket, nagyon hatékonyan tudunk kezelni. Szép-szép, de szeretnénk az egyik legelterjedtebb template motorhoz, a Smarty-hoz írt fájlokat nem csak szövegként kezelni? Erre nyújt megoldást a Smarty PDT kiegészítő, amit nagyon egyszerűen telepíthetünk Eclipse PDT alá.

A Smaty PDT -t összes kiadása letölthető a következő linkről: http://code.google.com/p/smartypdt/downloads/list

A Smarty PDT használatához szükségünk lesz az Eclipse-re, vagy a PDT all-in-one kiadására, amely tartalmazza az Eclipse-t, PDT-t, és számos webfejlesztéshez használt kiegészítőt. Amennyiben már rendelkezünk feltelepített PDT-vel, nézzük meg, hogy a következő csomagok telepítve vannak-e:

  • Java 5 JRE version
  • Eclipse SDK v3.3.1.1 version
  • EMF SDO XSD 2.3.1 SDK version
  • GEF 3.3.1 SDK version
  • DTP 1.5.1 SDK version
  • WTP 2.0.1 SDK version
  • PDT 1.0.2 I20071209

Amennyiben a fejlesztőkörnyezetünk megfelel ezeknek a feltételeknek, a Smarty PDT -t, letöltés után egyszerűen csak csomagoljuk ki az Eclipse PDT könyvtárába. Ezután a Help/Software Updates/Manage Configuration menüpontban kattintsunk a “Show disabled features” ikonra (Fájl menü alatt, balról a harmadik). Ha sikerült, akkor keressük meg a Smarty Feature sort a listában, majd a jobb oldalt megjelenő tartalomban kattintsunk az Enable linkre. Ezután az Eclipse PDT újra fog indulni, és ha minden rendben ment, már használhatjuk is az új funkciókat Smarty template-ekhez.

Amire még figyelnünk kell, hogy a .tpl kiterjesztés semmilyen tartalom-típushoz se legyen hozzárendelve. A Smarty PDT ellenkező esetben nem fogja a Smarty template fájlokat kezelni. Ezt ellenőrizhetjük a Window/Preferences menüpont alatt, ha a bal oldali fából a General/Content types részt választjuk ki.

20 hozzászólás, szólj hozzá Te is!

  1. feki

    Nem lassú ettől a sok java cucctól a keretrendszer?
    Zend Studiot használok, az is Java motort használ végülis, de sokszor zavar, hogy lassú, hibázik, stb.
    Miért érdemes felépíteni ezt a fejl. környezetet?

  2. Szerintem tudásban verhetetlen. Memóriaigényes ez tény, de egy közepes gépen, szerintem nem fut sokkal lasabban, mint egy egyszerű szerkesztő. Az elmúlt időben elég sok szerkesztő környezetet kipróbáltam: PSPad, PHP Designer 2008, NuSphere PHPEd, Zend Studio for Eclipse, Eclipse PDT. Ezek közül a PSPad és az Eclipse PDT ingyenes. Egyben ez a két legjobb megoldás. A Zend Studio bár kulcsrakész nehezen bővíthető, például a fenti Smarty PDT plugint nem sikerült betenni alá, hiába épül a Zend Studio is Eclipse-re. A PSPad kis méretű, nagyon jól kezeli a különböző karakterkészletet, illetve rengeteg programozási nyelvhez tartalmaz szintaktikai színezést. Viszont szintaktikai elemzőt már nem, tehát nem fogja megmondani, hogy az adott kódban van-e szintaktikai hiba. A PHPDesigner nagyon sokszor rosszul kezeli az új-sor karaktereket. Rengetegszer előfordult, hogy dupla sorokkal mentette le a fájlt. Ráadásul hiába állítottam be alapértelmezett karakterkészletet, figyelmen kívül hagyta. A másik nagyon hasznos dolog az Eclipse PDT-ben (és a Zend Studio for Eclipse-ben is), hogy jól kezelik CVS-t és SVN-t. Ez elengedhetetlen amikor egy projekten többen dolgoznak, és nagyon hasznos ha csak egyedül, hiszen szinte mindenkivel előfordult már, hogy azt mondta: “volt egy olyan állapot amikor jól ment”. :) Ilyenkor szépen vissza lehet “menni az időben”, vagyis visszatérni egy korábbi változathoz. Ugyanakkor az Eclipse PDT és Zend Studio for Eclipse automatikusan kiegészíti a kódot. Ez nagyon hasznos, amikor egy php fájlban egy vagy több osztályt (vagy másik fájlt), include-olunk be, hiszen nem kell kikeresni az adott osztály egyes függvényeit hogyan is neveztük el. A Zend Studio for Eclipse-el nekem is az volt a gondom, hogy jó most kiadták, de a frissítések nem olyan gyorsak mint az Eclipse PDT-nél. Utóbbinál a javítások nagyon gyorsan bekerülnek a stabil verzióba.

  3. Szaky

    Én is a pdt-nél kötöttem ki. Viszont ezt a smarty modult nem sikerült beizgatnom, ha jól vettem ki a alegfrissebb pdt-hez még nem illesztették, vagy mi..

  4. Köszi, nagyon hasznos a cikk!

    Az PHPEclipse (http://www.phpeclipse.de) is támogat néhány Smarty kód kiegészítést (foreach; assign;..) és felismeri a Smarty kódot , PDT alatt ezt használom.
    UPDATE: http://update.phpeclipse.net/update/nightly

    Egyébként véleményem szerint a PDT az egyik legjobb IDE, és ha még fejlesztenék is.. Az erőforrás igényről meg annyit, hogy működés közben már kisebb mint a Zend Studiót-é (régebbi változatra gondolok).

    Ami mostanában nagyon tetszik:
    http://www.openkomodo.org/
    és platform független.

    És ha már Smarty: http://www.opendir.hu/?freedom=/tartalom/php/_smarty_puska_1.

  5. sonaba

    Sziasztok!

    Nagyon használnék PDT-t, mert az egyik legszimpatikusabb IDE számomra, most azonban mégis PhPEd-et használok, ugyanis ebben tudtam csak rendesen beizzítani a debuggert.

    Mivel ez DBG-t használ, aminek pedig van toolbar-ja, ezért jelenleg ez az egyetlen környezet, amivel képes vagyok megoldani azt, hogy egy összetettebb programban elnavigálok egy pontig, ott megmondom a DBGbar-nak, hogy a következő oldaltól kezdve debuggoljon, és a következő submit-nál vagy linkelésnél elkezdi debuggolni a kódot, minden eddig megadott környzeti paramétert figyelembe véve (ki van bejelentkezve, milyen adatokat adtam meg esetleg idáig, stb.)

    Ha valaki segítene nekem abban, hogy hogyan lehet egy ehhez hasonló debug megoldást összehozni a PDT-ben, akkor nagyon hálás lennék.

    Vagy bármilyen egyéb véleményt szívesen látnék, hogy ti hogyan debugoltok PDT alatt ? Hogyan oldjátok meg azt, hogy egy összetettebb rendszerben mikor egy adott funkciót akartok tesztelni, akkor ne kelljen manuálisan megadnotok minden egyébb paramétert a debughoz ?

  6. Üdv,
    Nekem a PDT-vel csak egy problémám van, amit nem tudtam megoldani. Ha Aptana fel van telepítve, nem jelennek meg a sorszámok. Erre már egy vagon leírást elolvastam, de nem jelenik meg.

    Kéne egy jó leírás magyarul PDT, Eclipse hiba elhárításokról. pl.: ha helytelen leállítások (pl.: fagyi) elszállnak a beállításaid, stb..

  7. sonaba

    Csakhogy ti ne szívjatok annyit, mint én, itt van egy olyan verzió, ami már az új pdt-vel is megy (1.0.3).

    http://smartypdt.googlecode.com/issues/attachment?aid=-4286508249986580739&name=Smarty-PDT_0.5.5.zip

  8. Sonaba: hát azt a release-t jól eldugták. Az issues-ba van benne. Nem értem miért nem lehet kirakni a downloads közé. Köszönöm a tippet!

  9. sonaba

    Igen. És ahogy kijön a Ganymede, megint gond lesz ezzel a pluginnel. Kipróbáltam, nem megy vele. Remélem update-elik ezt is, mert nagyon hasznos plugin, csak mintha nem nagyon foglalkoznának vele.

  10. Igen elég béta a plugin, és a fejlesztő hozzáállása is elég sovány :( Remélem azért nem fogják hanyagolni a projektet, mert nagy szükség lenne rá.

  11. Gábor

    én még mindig a PhpED mellett teszem le a voksomat:
    mind azt amit a 2. hozzészólásban írtál tudja, alapból benne van a Smarty és még sokminden más.
    Igen, fizetős, de ezért olyan suport van cserébe, ami párját ritkítja!

  12. Toro,

    Már nem emlékszem pontosan mi volt a bajom a PhpEd-el, de azt hiszem az FTP kezelésével akadtak bajaim. Ez mondjuk sem a PDT sem a Zend-nek nem erőssége. Viszont most látom itt: http://www.nusphere.com/products/phped_verscomp.htm hogy a Professional és az Advantage verzióban van egy érdekes feature ami a standardban nincs (jó több is van), mégpedig a Smart upload/download. Arról van valamilyen információd hogy ez mit jelenthet? Nem fogja letölteni az FTP szerver tartalmát és szinkronizál a szerverrel minden mentéskor, hanem ezt ki lehet kerülni vele, és lehet a “szerveren” szerkeszteni? Például akad egy-két olyan weboldal, ahol FTP-vel belépve nem csak a php fájlok vannak, hanem ezer más is, amik mérete akár 1-2Gb is lehet. Ilyenkor használhatatlan mind a PDT mind a Zend, mert azok összeszinkronizálják a ftp tartalmát a helyi másolattal, és Zend vagy PDT alatt például nem jöttem rá arra, hogy hogy lehet a szinkronizálásból kiszűrni könyvtárakat. (lehet csak könyvtárakat kiválasztani, de akkor mi lesz az index.php-vel) lyen esetekben sajnos megmaradt a PSPad, ami meg sem közelíti az előbb említett IDE-k tudását. PhpED supportjával kapcsolatban van tapasztalatod?

  13. A standard verzio kb egy jol fejlett szovegszerkeszto, nem ad infot az IDE valos kepessegeirol, nalam az Advanced verzio fut.
    A probaverzio fullos, fajdalommentes a telepitese, a tip of the day tenyleg ertelmes otleteket ad, es van koztuk egy 10%-os discount bon is :)

    En nem hasznalom a szinkronizalasi funkciot, de megneztem a kezikonyvet: a Smart upload/download file idobelyegre es/vagy meretre szur az ftp soran igy nem kell az egesz cuccot felulirni.

    A FF eloretoresevel kapott az IDE egy beepitett Mozilla bongeszot is az IE melle igy a vegeredmenyt azonnal lehet tesztelni mindket kornyezetben - emellett van egy HTML validator is benne, ami egy gomnyomasra mutatja a generalt kodot es jelzi a hibakat.

    A debugger az igazi erossege a dolognak, en hasznalom a verziokovetot is es alkalmankent az adatbazis kezelot - bar standardban itt inkabb marad a phpMyAdmin.

    A support a legjobb amivel eddig talalkoztam. A vasarlaskor telefonon egyeztetnek, a veletleszeru dupla penz levonasomat (en voltam a bena, meg a banki vonal) 12 oran belul kezeltek. Kedvesek, hatekonyak.
    A technikai support egy forumra epit, a leghulyebb kerdesekre is valaszolnak 6 oran belul. Nekem volt olyan gondom, amit kivettek a forumbol, mert egyedi kerdes volt es harom (3) oran belul megoldottak 3 email forduloval. Hogy mikor alszanak, azt nem tudom, mert a 6 ora gyakorlatilag standard.
    A forum szerint az emailen keresztul erkezo kereseket is profin kezelik.

    En 4.5-nel kezdtem hasznalni, most ket evvel kesobb az 5.2 nel tartanak. Es a fejlesztesek jelentos resze a kivansagok megvalositasabol all.

  14. Smart upload/download -nál lehet szűrni könyvtárakra is? Tehát adott egy ftp elérés, és azon belül külön könyvtárban van sok-sok termék képe (pl webshop esetén). Ilyenkor el szeretném kerülni azt, hogy ezeket a fájlokat letöltse. Ad erre valamilyen lehetőséget a PhpED? Ha igen már töltöm is le a próbaverziót, és ha tetszik, meg is veszem.

  15. a workspace-hez tartozo project filelistat lecacheli, az biztos, mert tobbszor volt mar, hogy csak frissitesre jottek fel a korabban mashonnan betoltott fileok.
    Hogy ez ftp-n igy van-e ne, tudom, de nincs okom feltetelezni, hogy mas rendszer szerint mukodne az a resz.
    De hat okoskoghatok itt naphosszat: toltsd le a probaverziot es teszteld le. 15-20 percet meger a dolog

  16. Köszönöm a részletes információt, szerintem érdemes letölteni a próbaverziót, márcsak a 10%-os engedményért is. Ha megtetszik és megveszem, mindenképp írni fogok róla beszámolót.

  17. sonaba

    Phped-et én is sokáig használtam, és tényleg nagyon jó. Egy nagy hátránya van, mégpedig, hogy fizetős. Sztem az Eclipse-el mindent meg lehet oldani, amit az Eddel, és ingyen van. Ráadásul az Eclipse html editorai (Aptana, de még a PDT allinone-ban lévő alapszolgáltatások) is jobbak, mint az Ed-é. Az eclipse sql explorere is profibb. Két pont van az Ed javára, a smarty support, mert sajnos ez a smartypdt jelen állapotában nem túl használható, és a debugger. De a debuggernél is csak a firefox toolbar az egyetlen, ami kényelmesebbé teszi az Ed használatát, minden más debug funkció az Eclipse-ben is elérhető.

  18. Fler

    Több szövegszerkesztőt összehasonlítottam én is, de egyelőre megmaradtam a PSPad-nál. Kicsi, gyors, kényelmes, és egy-két kényelmi funkciótól eltekintve mindent tud ami nekem kell.
    Az Eclipse a 2400+-os AMD procis gépemen 1 giga RAM-al érezhetően lomha. Nem mondanám lassúnak, inkább csak lomha, mindenesetre ez elég nálam ahhoz, hogy kiessen a használható editorok köréből.
    Ami még szimpatikus volt, az a PHPEd. Valahol az Eclipse és a PSPad között van sebességben, tudásban meg szerintem simán van PDT szintű, a kényelemről már nem is beszélve. Ez viszont egy apró, de számora fontos dolog miatt szintén kiesett. Az is lehet, hogy csak én nem ismerem eléggé az editort, de sehogyse sikerült beállítanom, hogy ha a kurzorral felfele-lefele mozgok, akkor “visszataláljon” a kurzor abba az oszlopba, ahonnan indult. Ha üres sort talál, akkor beugrik oda és ott is marad. Ha ez jól működne, valószínűleg áttérnék rá.

  19. Fler,

    tools/settings/editor settings -> Cursor beyond EOL pipa

    ugy megy felfele a kurzor ewgyenesen, mint a raketa

    en az 5242 buildet hasznalom, erdemes frissiteni

  20. Fler

    Toro:
    Köszi, ezt ismertem, de ez nem jó nekem sajnos. Azt végképp nem szeretném, hogy a kurzor a sor vége után is szaladgálhasson.

Hozzászólás írása: “Smarty for Eclipse PDT”