Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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
chmolu
post
Post #2





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 8.10.2004

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


Jest to rozwiązanie ciekawe i bardzo wygodne jeśli chodzi o współpracę programistów z grafikami. Projektant dostaje plik XML i może z nim zrobić, co mu się podoba za pomocą XSLT. Programista też nie zajmuje się prezentacją - jego zadaniem jest wygenerowanie odpowiedniego pliku XML z danymi.

Pomimo zalet tego rozwiązania nie zdecydowałbym się na użycie go w php. Za duży narzut czasowy i zbytnie obciążenie dla serwera. Wprowadzamy 2 dodatkowe warstwy processingu danych, a to musi wiązać się z opóźnieniami. Poza tym, osobiście uważam, że jest to zbytnie kombinowanie (overdesign).
Go to the top of the page
+Quote Post
Ociu
post
Post #3





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Xml-Cache ? Jak Wyżej. Ma swoje zalety, ale czas jest nieubłagany.
pozdrawiam
Go to the top of the page
+Quote Post
dtb
post
Post #4





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


1. uzywanie smarty lub omt jest wygodniejsze (wg. mnie) od xslt
2. xsl nie jest obsugiwany przez opere (wiem bo uzywam). nie wiem jak z xslt (nie jest to to samo?)


--------------------
Go to the top of the page
+Quote Post
aleksander
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


@dtb: ale transformacje xslt mozna wykonac w php:P
Go to the top of the page
+Quote Post
matid
post
Post #6





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

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


IMO pomysł dobry, zresztą już jakiś czas temu sugerowałem podobne rozwiązanie. Łącząc to z systemem cache jest wystarczająco szybkie.
Co do wygody - IMO lepiej używać czegoś, co jest bardzo dobrze opisane i jest prawdziwym standardem a nie iść w stronę czegoś, co zapewne nigdy nim nie będzie (Smarty, OPT, itd.)
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


i jaki ja widze wniosek? sztuka dla sztuki...
Go to the top of the page
+Quote Post
rmn
post
Post #8





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

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


Czyli wszyscy mowia ze jest fajne ale nikt nie uzywa;)

Samo generowanie xml nie jest zbyt pracochlonne (szczegolnie w php5) prblem pojawia sie jednak przy xslt, ktore jest moim zdaniem bardzo niewygodne i trudne do debuggowania..

Jesli chodzi o szybkosc to wcale nie jestem taki przekonany. Czy ktos robil moze jakies testy, bo moim zdaniem dane sa przetwarzane tyle samo razy co przy np. smarty.

Duzym plusem jest to, ze osoba zajmujaca sie html nie musi uczyc sie smarty, ktorego zastosowania ograniczaja sie tylko do php.

Najwiekszy plus jak dla mnie to sam fakt, ze nasza aplikacja wyrzuca dane w xml-u, ktory mozna potem wykorzystac na wiele sposobow (mozna w zasadzie od razu generowac rozne formaty dokumentow).
Go to the top of the page
+Quote Post
krzysztof f.
post
Post #9





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

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

 



RSS Aktualny czas: 21.08.2025 - 09:35