Duet XSLT i XML, czyli po co jest system szablonów
nrafal @ październik 15, 2007
Kategoria: Programowanie (PHP,MySQL)
Pisaliśmy z Sebastianem (a właściwie lepiej napisać - piszemy) silnik sklepu internetowego. Umówmy się - jeszcze daleka droga przed nami, zanim ogłosimy, że mamy najlepsze oprogramowanie pod słońcem, ale niektórymi fragmentami możemy się już chyba pochwalić.
Przede wszystkim najważniejszą do rozwiązania kwestią było takie napisanie oprogramowania, żeby można je było stosunkowo łatwo przystosować do potrzeb dowolnego klienta. Wiadomo, bez poprawek w kodzie się czasem nie obejdzie, jednak przynajmniej szata graficzna powinna być całkowicie niezależna. Banał, powiecie, ale jednak chwilę pomyśleć trzeba było.
Jako fan otwartych rozwiązań i niezależnych standardów długo nie szukałem systemu szablonów. Wybór padł na XSLT. Dlaczego? Bo:
- XSLT jest nieźle udokumentowany
- XSLT to XML
- XSLT jest wspierany przez PHP
- XSLT jest łatwy w nauce i ma duże możliwości
Wady oczywiście też są. Przede wszystkim, kod jest dosyć rozwlekły. Ale dla mnie to akurat nie jest specjalną przeszkodą. Dodatkowo przekonała mnie jeszcze jedna rzecz - aplikacja oparta o XSTL powinna generować czysty jak łza XML, który na końcu poddany jest transformacji. Ale jeśli go nie poddamy, otrzymujemy program AJAX-ready, program, z którym komunikacja staje się bardzo łatwa. Stosując inny arkusz XSLT można nawet wyeksportować dane do powiedzmy ODF lub PDF-a. Możemy zaimplementować SOAP. Itd, itp.
Wniosek dla mnie na przyszłość jest jeden - XML to podstawa współczesnego Internetu, więc rozwiązania o niego oparte siłą rzeczy mają zalety. I choć być może XSLT nie jest najwydajniejszym i najprostszym systemem szablonów (porneL poleca np. PHPTAL), to uważam, że zalety z jego wykorzystania są tak duże, że warto.




Właśnie głowię się już od jakiegoś czasu nad systemem szablonów, bo tak owy chciałbym zaimplementować we własnych rozwiązaniach i mój wybór także jest najbliżej XSLT+XML. Wszelkie Smarty pochodne systemy są o kant d… rozbić. Na sieci są ciekawe porównania szablonów napisanych w czystym php, a np. ze znacznikami smarty. Wynik jest oczywisty: smarty i wszelkiego typu rozwiązania “znajdź i zamień” to jest podwójna praca dla serwera - 2 parsery: jeden interpreter znaczników z szablonu a drugi php.
szybkość jest jedną z najważniejszych zalet XSLT, ale dla mnie ważne jest także to, że dane w aplikacji tworzę jako XML, który mogę później używać w połączeniu z JS. To daje bardzo dużą elastyczność działania.