- kdo píše jakoukoliv obezličku jen proto, že jeho hosting mu "cosi" neumožňuje, to není expert
- kdo není na homepage projektu http://smartbee.sourceforge.net/ schopen napsat k čemu to je, to není expert
- kdo se snaží navázat svoji funkčnost na handler 404, to není expert
- kdo používá smarty, to není expert :)
Smarty jsou tak strasne, ze jsou hostovane na php.net. Hosi z php to jsou oproti Novotnemu, uplne lamy, pan Novotny je preci chytrejsi.
Doufam, ze pan Novotny, zkusena lama naprogramuje vlastni jazyk, aby dokazala ze lidi od php jsou spatni. I ja jsem spatny, ale marne hledam lepsi clanek na rootu a nejaky projekt pana Novotneho.
Prepacte, ale na tom kode nie je nic hrozneho. Nasli by sa aj ovela horsie veci, mozno dokonca aj v samotnom PHP.
Vas kod je samozrejme efektivnejsi a aj podla mna zrozumitelnejsi, to vsak neznamena, ze:
a. vsetci zdielaju tento nazor
b. nutne musi byt subor pre-patchovany
PHP je otvorena komunita, jedna z najtvorenejsich na internete. Tak ako sa aj v "slusnej" spolocnosti najdu zlodeji a vrahovia, najdu sa aj v PHP komunite menej poriadni koderi. Na tom nic nie je :-)
Nie kazdy z PHP.NET je nadsenec Smarty. Nevyhody Smarty som skopiroval z jednej mojej sukromnej spravy. Proti Smarty nic nemam, v duchu hesla "nech si kazdy pouziva co chce a co mu najviac vyhovuje", mne kazdopadne nevyhovuje :-)
Ak chce niekto viac informacii k danej teme, moze ma pokojne kontaktovat.
Nepto
------
Just few notes about Smarty. I'm strictly against Smarty template engine usage, because its usage brings you these problems:
1. The first one is, that template designer has to learn new pseudo-programming language. I consider this as a very contra-productive, since:
a. template designers are often not capable to learn any programming language, nor some tough one;
b. if template designer will either learn Smarty template language, he or she is not able to use it anywhere else, since it is language created just for the Smarty; in this case is HTML::Template::Platon or Savant template system much better, because it adds logic into templates in the PHP programming language; so this knowledge may be handy in several other cases.
2. There is a need for world-writeable directories. These directories are often difficult to create (via FTP in example) and difficult to maintain for average user. I requested/suggested once, that instead of world-writeable directories, database backend can be used. Compiled script will be fetched from DB and evaluated. Monte Ohrt did not like this idea. I do not know why, since other elements in Smarty page building process can be stored in the database (fe. cached templates). His quotes follow:
"I suppose it is _possible_, but it would be highly inefficient. You would have to eval' everything, and you couldn't take advantage of any acceleration."
"I'm not saying you couldn't do it, but Smarty does not support it. You're the first to even suggest it."
So the conclusion: Smarty is a nice piece of PHP software and his authors can be considered as a real PHP hackers, but it absolutely unusable for me.
Tak s těmito tvrzeními dost nesouhlasým.
1) Šablony je možné ukládat do databáze pomocí plug-inů. Standardně to možné není a je to výhoda, protože databáze opravdu není vhodná k ukládání souborů, které mají 100kB. Navíc z použití databáze žádné praktické výhody neplynou. Ano nemusí se nastavovat práva, ale to každý hosting podporuje, teda alespoň všechny hostingy co znám.
2) Ano designéři se musí učit nový jazyk, ale ten je relativně jednoduchý a navíc je dokumentován zvlášť.
Zvažuji, že zde napíšu článek o Smarty a o rapidním vývoji aplikací. To co lze ve Smarty, to je takový druhý div světa, když se to člověk naučí používat. Neznám rychlejší způsob vývoje aplikací, viděl jsem dost frameworků, ale Smarty je co do rychlosti vývoje jednička.
Typickým případem je projekt www.bblog.com, který využívá plně potenciál Smarty. Výhoda je v tom, že jednotlivé funkce jsou volány teprve z šablon. To znamená, že když se klient rozhodne web přestavět 5x, neztratí se výkon, protože se volají jen ty funkce, které jsou v šablonách.
Smarty vyžaduje odlišnou logiku tvorby aplikací. Aplikace se netvoří z logické stránky, ale z prezentační části. V tom je rozdíl - nejdřív tvořím design a pak implementuji funkce, narozdíl od klasické logiky kdy tvořím logiku na kterou dávám design.
Otázkou je, zda-li tento přístup každému vyhovuje
Dobry den,
Vdaka za odpoved. Tu su moje reakcie:
1. Suhlasim. Ja som vsak rozpraval o skompilovanych sablonach. Nie vsetky webhostingy podporuju world-writeable adresare, skor som sa stretol len s world-writeable subormi. Kazdopadne jeden SQL dump sa maintainuje podstatne lahsie ako adresar.
2. Jazyk nie je jednoduchy, ale je zmatocny, chaoticky a neprehladny. Bezny clovek neznaly programovania ho ma problem pochopit. Nemyslim teraz modifikatory, ale skor "foreach" cykly a podobne veci. V tomto smere je ovela ucinnejsi Savant. Dizajner sa musi naucit jazyk, ale je to PHP, takze sa mu tieto schopnosti potencialne zidu na nieco ine.
Ten clanok rozhodne napiste, bude to len prinos. Vlastne ja som mal vsetky tieto vyhrady uz davno zosmolit do niecoho pouzitelneho...
Smarty je kus kvalitneho kodu, vzhladom nato, aky je rozsiahly a zlozity a neobsahuje pritom mnoho bugov. Jeho vyvoj je tiez plynuly a rychly. Navyse existuje niekolko kvalitnych open source aplikacii, ktore ho pouzivaju, napr. Gallery2.
Nam vsak nevyhovuje. Nasim vyvojovym modelom nie je robit aplikaciu z prezentacnej stranky. Osvedcilo sa nam vytvorit produkcnu aplikaciu v zakladnom dizajne a potom nanu aplikovat dizajnove poziadavky jednotlivych zakaznikov.
Okrem toho pouzivame v kode odelovanie produkcnej logiky (spravidla v OOP) od templatovacej logiky, tzn. zmena template enginu je velmi jednoducha, to pre pripad, zeby sme boli nuteni pouzit nejaky konkretny template engine (napr. Smarty ;-)