abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 4
    včera 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 15
    včera 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Nová verze

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    22.4. 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    22.4. 16:44 | Zajímavý článek

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 2
    22.4. 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    22.4. 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    KDE Plasma 6
     (72%)
     (10%)
     (2%)
     (17%)
    Celkem 698 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Sablony v PHP jeste rychleji

    23.1.2007 01:31 | Přečteno: 2663× | Programování

    bohuzel, jsem se ted musel venovat trosku bezne rutinni praci, takze scheme ma na chvilku pauzu, ale zaujal me jiz treti dil serialu o smarty a prislo me to docela mastodontni.

    jedna vec mne na templatovacich enginech docela vadi, ze se snazi vytvorit si vlastni jazyk - at uz jsou to smarty, ultratemplates, cokoliv dalsiho nebo treba xslt, pricemz tyto jazyky nedosahuji kvalit beznych jazyku, protoze jejich syntaxe je desna nebo chybi standardni knihovny.

    osobne pouzivam tutu hezkou hracku:
    class Sitcom {
    
            private $values = array();
    
            public function set($name, $value)
            {
                    $this->values[$name] = $value;
            }
    
            public function render($template)
            {
                    foreach ($this->values as $___name => $___value)
                            $$___name = $___value;
    
                    ob_start();
                    include($template);
                    $___content = ob_get_contents();
                    ob_end_clean();
                    return $___content;
            }
    }
    

    neni to nic duchaplneho, jenom do prostredi vykreslovaci funkce se nactou promenne a vyvola se php-kod (sablona), ktery k temto promennym muze pristupovat. navic je to odchycene do bufferu... aby slo s touto hodnotou pracovat.

    sablona pak vypada takto:
    Hello <?= $name ?>
    What's the time? <?= $time ?>
    
    kod v aplikaci pak:
    $tpl = new Sitcom();
    $tpl->set("name", "Tim Taylor");
    $tpl->set("time", "It's Tool Time!");
    echo $tpl->render("sample.tpl");
    

    nazvat to templatovacim enginem je silne slovo, ale umoznuje to docela efektivne oddelit logiku od prezentace a hlavne neklade to nejake extra naroky na nove uceni (zadne nestandardni funkce a konstrukce), jenom to cloveka nuti vic premyslet nad tim, co si jeste podrzi ve funkci a co posle do sablony.

    na zaver, male rypnuti -- php je dobry textovy preprocesor, tak proc jeho funkci nevyuzit a snazit se v nem psat dalsi jazyky, ktere delaji de facto to same?

           

    Hodnocení: 57 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 23.1.2007 01:39 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Hehe, to jsem rád, že nejsem sám. Po přečtení nějakého z minulých dílů jsem ve svém posledním webu použil něco velmi podobného. Funkce render mi tedy rovnou vykresluje a do toho pole to ukládám přímo (nač ještě volat funkci?).
    Hello world ! Segmentation fault (core dumped)
    23.1.2007 10:49 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    prime vykreslovani taky jde, ale kdyz se to da do promenne jdou sablony elegantne skladat do sebe (cela stranka, hlavni formular, dodatecne formulare,...)

    a funkce navic? prece jen je to objektove hezci. ;-]
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    Josef Kufner avatar 23.1.2007 11:33 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Mno, šablony skládám pomocí include. Takže třeba šablona stránky s podnadpisem (h1 je v hlavičce spolu s navigací) a formulářem vypadá takto:
    <?
    include("page/header.php");
    echo "<h2>Nadpis</h2>\n";
    $d["form"]->render();
    include("page/footer.php");
    ?>
    Způsobí to, že šablon je potřeba trošku víc (pro každý typ stránky jedna), ale zas se s nima nemusím skládat v kódu a přijde mi to tak přehlednější i jednodušší.
    Hello world ! Segmentation fault (core dumped)
    bazil avatar 23.1.2007 01:50 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    a co budete dělat, až bude potřeba vypsat result z mysql? tedy vlastně z asociativního pole, ať už je jakékoliv? (jo vim, nacpat tam php foreach bo něco, ale je to značně hnusné a nepřehledné) a co třeba, když tam budou nějaké podminky pro vypisování ? a co třeba formuláře a tabulky, pořád je znovu klepat ... a hlavně templejtovací systémy se většinou snaží nejen oddělit logiku aplikace od zobrazování, ale také jednoduše dát grafikovi do ruky jazyk, z kterým může efektivne formovat vzhled stránek ... pokud člověk dělá projekt sám, tak to nějak nahackuje, ale jak se sejde víc lidí, tak je to už horší a btw už to dávno někoho napadlo ...
    Josef Kufner avatar 23.1.2007 02:17 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Není to ani hnusné, ani nepřehledné. A zrovna formuláře nejsou dobrý příklad – ty se mi osvědčilo řešit mimo šablonovací systém a nechat je, ať si obsluhují veškerou logiku sami. Někde jsem to tu už psal. Se vší parádou se obsluha formuláře scvrkne na jeho definici (1 řádek/widget) a jeden if (kreslit/zpracovat). Pokud se něco vykresluje častěji (tabulky), tak pro to prostě napíšu funkci a v šabloně ji použiju.

    V tom tebou odkazovaném článku je to řečeno hezky. Cituji:
    The ultimate goals of template engines shouldn't really be to remove all logic from HTML. It should be to separate presentation logic from business logic.
    Prostě jde o to, aby tenhle bordel, který převádí datové struktury na HTML nestrašil, kde nemá. Mít v šabloně kus kódu, který jen vypisuje a případně i konvertuje data z nějakého pole do HTML není vůbec špatné, ba naopak, k tomu ta šablona je.
    Hello world ! Segmentation fault (core dumped)
    bazil avatar 23.1.2007 02:57 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    pokud šablony dělá programátor, a jeden člověk, co se orientuje i ve vnitřbostech programu ... koukněte se na teng, šablonovací systém seznamu ... ten je podle mě dobře vymyšlenej ;-) a ani nezavádí nějaké složité obskurdnosti do šablon a ani do kódu ... fpodstatě z tou myšlenkou byl navržen(btw na avc.sh.cvut.cz je přednáška). způsob šablonování, co tu uvádíte sem používal a ještě teď vlastně používám, ale rozhodně to chcu celé přepsat ...
    23.1.2007 11:20 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    vyborne, ten clanek jsem neznal, ale jelikoz to jiz nekoho nezavisle na me napadlo, asi to nebude spatna cesta ;-]

    problem s tabulkami, formulari jde resit velice elegantne, jelikoz jazyk php umoznuje deklarovat elegantne vlastni fce. (na rozdil od nekterych templatovacich enginu).... neni problem zavest neco takoveho:
    function html_table_row($cells)
    {
       $result = "<tr>\n";
       foreach ($cells as $cell)
           $result .= "<td>$cell</td>\n";
       $result .= "</tr>\n";
       return $result;
    }
    
    to si v kazde sablone staci inkludnout soubor s danyma standardnima funkcema (jeste mam nekolik variant pro praci - s ul, ol, li) a zacit je pouzivat. <?= html_table_row(array(1, 2, 3, 4)) ?>
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    bazil avatar 23.1.2007 12:58 bazil | skóre: 33 | blog: sluje | Miroslav
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    ale tohle už je míchání php a html dohromady ... ale nevadí
    23.1.2007 13:14 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    ale sablony nejsou o tom oddelit html od php, ale logiku aplikace od logiky prezentace. a je jedno jaky pouzijete jazyk... smarty, xslt, cokoliv jineho... taky michaji dohromady html a nejaky dalsi jazyk... shodou okolnosti je to v tomto pripade php...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    23.1.2007 09:38 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Rychlejší to nebude, většina šablonovacích systému šablony přeparsuje právě do něčeho podobného a uloží to do cache adresáře. Rozdíl bude max ve zjištění, jestli je cache soubor starší než soubor se šablonou :-)
    23.1.2007 10:44 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    nejde me ani tak o rychlost spis o to, ze se kazdy snazi vymyslet vlastni jazyky a to v pripade php zbytecne. pochopim to v pripade javy, c++, ktere nejsou na praci s textem ucelove stavene tak jako php.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    Daniel Kvasnička ml. avatar 23.1.2007 11:48 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Nedivim se vam, ze se vam ze Smarty zveda kufr, ale na XSLT mi nesahejte ;-) XSLT je jedna z (bohuzel) mala moznosti, jak pri sablonovani zustat u cisteho XML a neztratit jeho flexibilitu. Jinak zkuste PHPTAL, nejlepsi co jsem pro PHP nasel.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    23.1.2007 12:00 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    na xslt vam klidne sahat budu, ale budte klidny na nic jineho uz ne ;-]

    na xslt mne vadi to, ze je to de facto kompletni jazyk napsany v xml takze jeho syntaxe neni z nejpohodlnejsich a mnozstvi standardnich funkci je hodne omezene. na druhou stranu, pokud clovek potrebuje z jednoho xml udelat nejake jine xml, tak je to velice elegatni vec diky xpath. ale na web me to prijde jako docela sebevrazedna zalezitost...

    z osobni zkusenosti pokud ma xslt template do 200 radku (malokdy) tak to jde, ale jak se to zacne blizit 500 radkum tak je to fakt bida a kod je docela neudrzovatelny....
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    Daniel Kvasnička ml. avatar 23.1.2007 15:21 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Je to dost subjektivni, me XML nepripadne tak neprehledne.

    Na webu mi to naopak pripadne obrovsky flexibilni a uzitecna vec. Predstavte si treba jenom XML sitemap a moznosti, ktere vyvstavaji z pouziti XSLT a XPath. Na ruzne publikacni systemy a blogy je to take paradni vec. Proc bych mel tahat data z DB, zpracovavat je v PHP/Pythonu a pak jeste posilat do procesoru templatovaciho systemu kdyz muzu zavolat XSLT procesor primo na datove zkladne a vysledek poslat? Fce v XSLT se daji rozsirit a treba EXSLT toho uz tak docela dost umi. Samozrejme to neni vhodne pouzit vsude. Jakmile mate slozitejsi vztahy mezi daty a delate nejaky CRM nebo neco podobneho, ukladat data pouze do XML by byly docela jatka.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    23.1.2007 17:58 narg
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Pokud Vám chybí nějaké funkce, proč je nenapíšete v Javascriptu, Perlu, Pythonu (tedy záleží na XSLT processoru který používáte) nebo nepoužijete binding do jazyka ze kterého XSLT transformaci voláte? (Mno, pravda, nevím jak na tom jsou XSLT processory, ten v PHP myslím to neumožnuje, což se není čemu divit, protože PHP neumožnuje spoustu věcí, ale např. XALAN umí binding do Javy, 4Suite XML umí binding do Pythonu atp.)?
    Daniel Kvasnička ml. avatar 23.1.2007 23:22 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Kdyz jsem objevil 4Suite, byl jsem nadsen jeho funkcionalitou (existuje jina pythonska implementace XUpdate?). Ale kdyz jsem videl benchmarky, ve kterych byl beznadejne nejpomalejsi, muj zajem ochladl. Zajimalo by me jak je na tom ted.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    23.1.2007 19:25 Goffix | skóre: 25 | blog: Powered by ArchLinux | Hradec Králové
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Teď jak to tady pročítám, tak mně napadla další výhoda XSLT. Co když začnu psát aplikaci např. v PHP a po čase bych ji chtěl přepsat např. do Javy? Sablony zůstanou! Ale pokud bych to psal pomocí šablon v PHP (nebo čemkoli jiném), nebo přímo pastnul do kódu, tak můžu začít od nuly vše. Neptej se mě proč by si to měl dělat, ale jestli si dobře vzpomínám, tak například Abíčko taky nebylo vždycky v Javě ;-).

    Jinak ten tvůj způsob jsem chtěl taky dřív používat ( než jsem objevil XSLT ;-) ), ale postupně to začíná být dost nepřehledné. Ber to takhle, co když ti najednou na serveru zakážou "short_open_tag" ;-). Můžeš to začít přepisovat a pak se podívej na ten kód, jak je "přehledný" ;-).
    Josef Kufner avatar 23.1.2007 20:04 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Ber to takhle, co když ti najednou na serveru zakážou "short_open_tag" ;-). Můžeš to začít přepisovat a pak se podívej na ten kód, jak je "přehledný" ;-).
    sed -i 's/<\?=/<?php echo/g' *.php
    Hello world ! Segmentation fault (core dumped)
    24.1.2007 10:27 Goffix | skóre: 25 | blog: Powered by ArchLinux | Hradec Králové
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Puvodne jsem za to "prepisovat" chtel napsat do zavorky "nahradit", ale pak jsem to vypustil, jelikoz mi slo o sdeleni na konci te vety - "a pak se podívej na ten kód, jak je "přehledný" ;-)."
    Daniel Kvasnička ml. avatar 23.1.2007 23:27 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Neptej se mě proč by si to měl dělat, ale jestli si dobře vzpomínám, tak například Abíčko taky nebylo vždycky v Javě ;-)
    No pokud vim, tak vsechny tyhle nase komentare jsou XML ulozeny v DB. Jestli to Leos zene ke klientovi pres XSLT nevim, ale nedivil bych se.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    24.1.2007 00:20 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    vsechny tyto uvahy jsou hodne hypoteticke.... vyzkousel jsem spoustu systemu na "delani prezentacni logiky", a abych pravdu rekl zadny idealni jsem zatim nenasel. zkousel jsem templatovaci knihovny pro php, javu dokonce i delphi nebo i nezavisle xslt a to v ruznych obmenach at uz proste sablony nebo pokrocily objektovy model ala VCL nebo ASP.NET.... pokazde bylo vhodnejsi neco jineho - neco jineho je web s hambatyma obrazkama a neco informacni system, kazde ma uplne jine naroky.

    nekolikrat jsem vyse uvadel, ze ten kod neni nic svetoborneho, ale na male veci se to docela hodi a na velke veci se nehodi php (teda zalezi, na co si troufnou programatori) tak neni co resit ;-]

    btw. kdyz se neco zacina prepisovat, tak je potreba, aby zakaznik mel potrebu koupit novejsi verzi... takze se nejdriv prepisuje prezentacni logika, pak aplikacni a v nejhorsim i nejake to skladovani dat...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    24.1.2007 03:44 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Teď jak to tady pročítám, tak mně napadla další výhoda XSLT. Co když začnu psát aplikaci např. v PHP a po čase bych ji chtěl přepsat např. do Javy? Sablony zůstanou!
    Mně zase napadla další výhoda Lispu. Co když začnu psát aplikaci např. v PHP a po čase bych ji chtěl přepsat např. do Javy? Sablony zůstanou! :-) Ale pokud bych to psal pomocí šablon v PHP (nebo čemkoli jiném), nebo přímo pastnul do kódu, tak můžu začít od nuly vše. :-D
    24.1.2007 08:54 paranoiq
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Mně zase napadla další výhoda Pythonu. Co když začnu psát aplikaci např. v PHP a po čase bych ji chtěl přepsat např. do Javy? Sablony zůstanou! Ale pokud bych to psal pomocí šablon v PHP (nebo čemkoli jiném), nebo přímo pastnul do kódu, tak můžu začít od nuly vše.

    btw: co když budu chtít vyměnit template engine?
    24.1.2007 10:30 Goffix | skóre: 25 | blog: Powered by ArchLinux | Hradec Králové
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Nejak jsem vase dva komentare neprobral. Mozna je to tim, ze LISP neznam ani trosku a Python jsem pred par lety jen natuknul (ne na webu), ale pripada mi, ze XSLT je trosku o necem jinem nez Python a LISP.
    24.1.2007 13:56 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Nepobrali jste to oba, pokud si myslíte, že Lisp má blíž k Pythonu než k XSLT. :-)
    24.1.2007 15:52 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji

    Ještě jsem zapomněl dodat: XSLT přímo vzniklo z Lispu a je to na něm dost vidět (konkrétně DSSSL), takže prohlášení „XSLT je o něčem jiném než Lisp“ je asi tak informované jako „C# je o něčem jiném než Java.“ Podobnosti jsou až zarážející a je jich podstatně více, než rozdílů. :-)

    Nějaká pěkná čtení:

    http://www.topxml.com/xsl/articles/fp/fp.zip

    http://www.idealliance.org/papers/extreme/proceedings/xslfo-pdf/2006/Novatchev01/EML2006Novatchev01.pdf

    Dynamicky typovaný funkcionální programovací jazyk, jehož základní datovou strukturou je hierarchický seznam prvků. V této struktuře jsou psány samotné jeho programy, takže mj. může transformovat i sám sebe, pokud je to zapotřebí. Safra, to je nějaké povědomé, kde já tohle už slyšel? :-D :-D :-D Docela by mě zajímalo, do jaké míry se ty hardwarové akcelerátory XSLT podobají lispovským procesorům. Přinejmenším konceptuelně je to naprosto identická konstrukce: eval+apply natvrdo zadrátovaný.
    24.1.2007 18:08 Goffix | skóre: 25 | blog: Powered by ArchLinux | Hradec Králové
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Tak jsem si neco prelouskal o Lispu a nejaky ty flamewary o LISP vs XML (XSLT) a zastavam se XSLT ;-). Nic ve zlim, ale Lisp je masochismus ;-).

    A jinak, tady byla diskuse o templatovacich systemech v jazycich, takze porovnavani Lisp vs XSLT neni na miste. Hlavne by me zajimalo, jak bych udelal to co jsem rikal.

    Mam aplikaci (web) v nejakem jazyku a leze mi z toho XML. Pomoci XSLT prekonvertuju na XHTML a jedu... Pak zmenim jazyk na jinej a porad muzu pouzit jiny objekty, ktery mi taky vygenerujou XML a sablony pouziju znova.

    Jak nahradim XSLT Lispem? V PHP jsem zadnej objekt na lisp nenasel.
    24.1.2007 18:17 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    No, mně napadla totiž takové věc. XSLT se mi konceptuelně líbí taky. Proti XML jako jazyku pro dokumenty v zásadě nic nemám, ale pro programy mi to přijde jako šílenost. Jelikož jsou však LISP a XSLT poměrně přímočaré ekvivalenty, mohou fungovat dvě zhůvěrilosti: a) Kompilátor transformací definovaných v Lispu do XSLT (výhody z mého pohledu: 1) pro mě (:-)) lidštější syntaxe vstupu a 2) výsledek bude běhat všude), nebo b) implementace XSLT využívající vysokého výkonu kompilovaného lispovského kódu – něco na způsob CL-PPCRE. (výhoda: 1) interoperabilita se stylesheety třeba veřejně dostupnými na Internetu, 2) možnost aplikovat XSLT nějak na S-výrazy a z toho plynoucí 3) wow faktor. :-))

    Každopádně je to pěkná výzva. :-) Budu teď muset pracovat s nějakým XML a přemýšlím, jestli není lepší načíst XML dokument prostě jako S-výraz. Rozhodně mi to je bližší. :-D
    24.1.2007 20:27 Goffix | skóre: 25 | blog: Powered by ArchLinux | Hradec Králové
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Jednim slovem ... BLAZEN ;-)
    24.1.2007 13:51 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Sablony v PHP jeste rychleji
    Počkej, ty sis napsal v PHP a v Javě reader a rule-based system, který definuje pravidla pythonovským kódem? ;-) V Lispu je to triviální, poněvadž nemá syntaxi, ale psát se s parserem pro Python se mi nechce.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.