Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Architektura baza->php->xml->xslt->html
rmn
post
Post #1





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 19.02.2004
Skąd: Piaseczno

Ostrzeżenie: (0%)
-----


Co myslicie o takim pomysle w porownaniu do wyrzucania outputu od razu w html albo w smarty (lub innego systemu templetow)?

Ten post edytował rmn 27.11.2005, 13:25:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krzysztof f.
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.11.2005

Ostrzeżenie: (0%)
-----


Podejście do rozwiązania warstwy prezentacji, w oparciu o dane generowane w postaci plików xml, a następnie przetwarzane w wybraną formę prezentacji, jest rzeczywiście bardzo dobrym pomysłem. Nie jest też to nic nowego, a już na pewno nie można powiedzieć, że nikt tego nie robi. Na takim podejściu bazuje, między innymi jeden z większych i popularniejszych frameworków napisanych w javie http://cocoon.apache.org/. Powstało też kilka portów Cocoon’a napisanych w języku php. Możnaby wspomnieć chociażby: http://www.popoon.org/.

Moim zdaniem, wyodrębnienie w procesie generowania prezentacji dla naszej aplikacji, etapu przygotowania danych w formie dobrze opisanej struktury xml, daje naprawde duże możliwości tworzenia alternatywnych widoków. Zmieniając tylko proces transformacji pliku xml możemy ten sam zestaw danych przedstawić w formie stron xhtml, stron wap, pliku pdf czy doc, stworzyć rss czy też formę tekstową do wydruku.
Nie wydaje mi się żeby dobrze zaprojektowana biblioteka ustępowała wydajnościowo znanym systemom szablonów. W końcu, większość tego typu bibliotek, również musi parsować szablony podmieniając odpowiednie znaczniki danymi.

Rozważanie implementacji takiego mechanizmu tylko dlatego aby ułatwić współpracę między grafikami a programistami, wydaje mi się jednak, przerostem formy nad treścią. Osobiście nie znam żadnego grafika, który poradziłby sobie z transformacją xml i przygotowaniem poprawnych styli xsl. To zadanie spoczywałoby ciągle na programiście, ale prawdopodobnie nie byłby to już (i tak wyeksploatowany do granic możliwości ;) biedny deweloper php.

Skuteczne rozdzielenie kompetencji między programistów a grafików i projektantów xhtml zapewniają szablony. Jeśli problemem jest dla grafika, programisty xhtml, tworzenie strony pełnej dziwnych znaczników i nieznanej składni (tak jak w przypadku Smarty), można rozważyć użycie innych systemów szablonów. Chociażby opartych o tworzenie poprawnych dokumentów xml, z operacjami na szablonie opisywanymi w formie specjalnych atrybutów, dobrze wszystkim znanych tagów html (http://phptal.motion-twin.com/). Istnieją też szablony opartych o komponenty (podobne do tych znanych programistom .NET), a należą do nich systemy szablonów z popularnych frameworków wact http://www.phpwact.org/wact/template_component_architecture i PRADO http://www.xisc.com/wiki/index.php/The_PRA...a_template_file

Na koniec jeszcze, wracając do pomysłu dwustopniowego generowania widoku aplikacji, należy pamiętać, że Martin Fowler http://martinfowler.com/ opisał wzorzec projektowy, który odnosi się do tej konkretnej sytuacji Two Step View http://martinfowler.com/eaaCatalog/twoStepView.html. Zgodnie ze wzorcem należy w pierwszej fazie pobrać z obiektów dziedziny potrzebne dane i przedstawić je w sformalizowanej formie, bez żadnej informacji o sposobie prezentacji. W Twoim przypadku jest to baza->php->xml. Następnie w drugim kroku tak przygotowaną informacje prezentujemy w wybranym formacie, czyli xml->xslt->html.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 21:12