php blog magyarul

Dwoo: egy PHP template motor

Nemrégiben szereztünk tudomást, egy elég friss fejlesztésről a Dwoo-ról. A fejlesztője szerint 2008 elején kezdte el írni a teljes egészében PHP5-re épülő motort, melynek ihletét kétségtelenül a Smarty-tól vette. A fejlesztés nemrég ért el ahhoz a ponthoz, amikor már nagyjából stabil változatról beszélhetünk, ezért megér egy bejegyzést.

A Dwoo v0.9.0 változat május 10-én látott napvilágot, és kedvező fogadtatásra talált. Egyértelműen a Smarty leváltására koncentráltak, amelynek lehetőségérő a projekthez tartozó Wiki oldalon a SmartySupport rész alatt olvashatunk. Érdemes olvasgatni a Wiki-n elhelyezett nem teljes dokumentációt, hiszen számtalan érdekes lehetőséget és funkciót találunk, pl.: http://wiki.dwoo.org/index.php/TemplateInheritance. Vagyis az egyes template-eket “örököltethetjük” egymásból. Nekem számtalan olyan helyzet akadt, amikor jó lett volna egy hasonló lehetőség, de valahogy más úton kellett megoldanom.

Reméljük Jordi ‘Seldaek’ Boggiano nem fogja feladni a kezdeti lelkesedését, és érdemes lesz nyomon követni a projekt fejlődését. 

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

  1. Arról nem szólt a cikk, hogy mivel jobb mint a smarty, pedig pont ez lenne a lényege! :)

  2. Teljes egészében PHP5-re íródott. Így nyilván kihasználja annak a lehetőségeit. Nem úgy, mint a smarty.
    Smarty alapján írta a készítő így nyilván tanult annak a hibáiból.
    No meg ott van a sablon öröklődés, ami nagyon jó ötlet.
    (Állítólag gyorsabb, mint a smarty.)

  3. Igen a fejlesztő szerint gyorsabb mint a Smarty, állítólag ketten is segítettek neki a teljesítmény fokozásában, bár nekem ezzel nem volt semmi gondom a Smarty-nál. Az esetek többségében egy oldal nem a template rendszer miatt lassulhat be. Összességében a PHP5-re épülő kialakításán, az elvileg jobb teljesítményben, a sablon örököltetésen kívül csak appróbb, de jól használható funkciókkal tud többet, mint a Smarty. Szerintem a smarty egy elég jól átgondolt projekt, de kialakításában és használatában észrevenni az “életkorát”. Ezért tartom jó ötletnek az új, hasonló jellegű kezdeményezést.

  4. Napi 10-30 látogatós honlapoknál tök mindegy hogy mit használsz. Ha van időd, odafutsz és kirajzolod a delikvens monitorjára :-). Nagy forgalmú oldalaknál meg már úgysem ez a legnagyobb gond.

    Szerintem a Smarty sem marad parlagon, fejlesztés területén ha eljön az ideje.

    A Dwoo még elég lazán dokumentált és a verziószámból következtetve elégé bétás rendszer, de számos alternatív van még ezen a területen.

  5. Smarty azert eleg szep szeletet hasit maganak a teljes oldal osszeallitasanak az idejebol (kikapcsolt force_compile es compile_check eseten is).

    Azert az unsupported kozott var par dolog ami hianyozna.

  6. Benjamin, ez a kényelem bére :-).
    Akár milyen külsős eszközt használsz erre a célra, az jobban fogja zabálni fogja az erőforrásokat (ram, cpu, process).

  7. ARTH2O-val teljesen mértékben egyet tudok érteni, azzal kapcsolatban, hogy kis forgalmú site-oknál nem számít a template motor sebessége, nagy forgalmúaknál meg nem a template motor fogja terhelni a szervert.

  8. Csinált egyszer valaki egy Smarty Light-ot, amit a szmartiból desztillált és állítólag sokkal kissebb erőforrás igénye volt, és állítólag kompatibilis volt a Smartyval.

    Nos megpróbáltuk, de nem volt kompatibilis. Sajna több energiánk nem volt a tesztelésére, de talán valakinek itt felkeltheti az érdeklődését.

  9. Toro,

    Milyen problémátok akadt a smarty teljesítményével?

  10. Egy “hazilag” keszult CMS motor megjelenito felulete a Smarty es a meresek szerint a mukodesi ido 60-65%-aban a Smarty ketyeg. Ott szerettunk volna visszavenni, de nem akartunk lemondani a sokoldalusagrol. Vegul meg most is Smarty :)

    En regebben meg a FastTemplattel kezdtem, az sokkal kevesebbet tudott, de ennek megfeleloen joval gyorsabb is volt.

    A cikk temajahoz: en mint felhasznalo valoszinuleg akkor fogok hozzanyulni ehhez az uj cucchoz, amikor kicsit tobb feature lesz kompatibilis az oreggel.

  11. A http://www.olcsobbat.hu Smarty-t használ, és ott a főoldalt pl 0.004 (pontatlan, de jelzi, hogy elég gyors) másodperc alatt generálja le úgy, hogy a smarty cache funkciója nincs bekapcsolva. Ebben minden benne van, gyakorlatilag a php szkript teljes futási ideje. Nem néztem meg, hogy ebből a Smarty mennyit tesz ki, mert az ilyen, és ehhez hasonló dinamikus oldalaknál, nem ez szokta a szűk keresztmetszetet jelenteni.

  12. Német Péter

    a 195.56.65.69 ip címen lévő vason, ahol a dragabbat.hu fut 10 domain van… persze lehet hogy ez nem pontos adat. Az tuti, hogy nem egy leterhelt, lepukkant szerveren üzemel. Ha ez nem így volna, akkor 0.004 is feljebb csúszna.

  13. Azon a szerveren az olcsóbbat.hu generálja a legnagyobb terhelést, és ezt a terhelés nagyrészt a mysqld generálja úgy, hogy elég jól használjuk a memcache-t is. Nem akarok részleteket elárulni, de elhiheted, hogy a smarty-hoz használt erőforrás eltörpül minden más mellett. A másik, hogy nem az számít mennyi domain van a gépen, hanem hogy azok mekkora forgalmat generálnak. Nyilván a terhelést az oldalak optimalizálásával megpróbáltuk minimálisra csökkenteni, de nem használtunk ki minden lehetőséget, nem volt rá szükség. Egyébként a 0.004 nem mond semmit ha nincs mihez viszonyítani, ebben igazad van. A következő oldal:
    http://www.olcsobbat.hu/szamitastechnika/monitorok/monitor_tipusa–lcd/maximalis_felbontas_1–1920_x_1200_pixel/kepatlo_merete–24/
    memcache nélkül 0.2, memcache-el 0.02 másodperc alatt generálódik. Ebből szerintem látható, hogy ha a főoldalhoz hasonlítjuk, a különbség viszonylag nagy, és ezt nem a smarty generálja. Abban is teljesen igazad van, hogy ha nagyobb lenne a terhelés, akkor az a 0.004 is feljebb csúszna. Természetesen feljebb, mint minden más is. Azonban a két oldal (főoldal és a belinkelt) közötti eredmény különbségét nem az okozza, hogy a smarty lassú lenne. Emiatt mondtam azt, hogy a szűk keresztmetszetet nem a smarty futási ideje okozza.

Hozzászólás írása: “Dwoo: egy PHP template motor”