Archive for sierpień, 2007

Smarty? To przeżytek.

Kiedyś bardzo chciałem poznać Smarty. Niestety nigdy jakoś nie miałem na wcześniej czasu. A przynajmniej wtedy myślałem “niestety”.
Ostatnio w pracy mam właśnie możliwość zapoznania się dogłębnie ze Smarty.

Parę dni zajęło zanim się do tego przyzwyczaiłem i wtedy jeszcze myślałem że jest całkiem fajne. Jednak prawda jest taka, że Smarty jest językiem zupełnie nieprzemyślanym. Na większość konstrukcji znanych z PHP posiada własne odpowiedniki, od których z kolei są wyjątki. Poza tym ewidentnie widać, że język ten był pisany gdy PHP jeszcze było tylko strukturalne i tylko na doczepkę dodali programowanie obiektowe. Oczywiście niepełne.

By nie być takim gołosłownym, parę przykładów:

kod PHP Kod Smarty
echo count($array) {$array|@count}
if(count($array)>5) echo “dużo”; {if count($array) > 5}dużo{/if}
echo $foo->$bar()->baz(); Niemożliwe, trzeba użyć zmiennych tymczasowych
{assign var=temp value=$foo->bar()}{$temp->baz()}
$s = “element {$foo->id} z {$foo->count}”; Tak samo, jak wyżej - niemożliwe
echo substr($string, strlen($var), $end) Oczywiście wynik strlen() trzeba do zmiennej tymczasowej…

Mogę tak dalej wymieniać, ale już chyba widać sens przesłania, iż Smarty nie jest umierającym dinozaurem, który szczerze mówiąc, nie mam pojęcia czemu jest wciąż taki popularny…