Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: generowanie html-owych obiektów
Forum PHP.pl > Forum > PHP
gino
witam,

wczesniej czy później mimo samego kodowania strony osobiście byłem zmuszony do zastosowania html-a (w postaci cokolwiek prostej ale jednak) czyli tabelki formularze itp.
Czy miał ktos z Was pzremyślenia a propo napisania czegoś na kształt warstw html-a questionmark.gif Np. na czysty "obiekt" kładę warstwę table na nią warstwy tr i td a na td kładę treść która ma tam być.


gino
TomaySOFT
Myślę, że czas zastanowić się nad zastosowaniem pakietów w stylu Smarty, gdzie programista PHP skupia się na dostarczeniu wyników (zapytań do ba danych, obliczeń, obsługi formularzy), a designer pracuje nad opracowaniem szablonów, które w konkretny sposób prezentować będą dane dostarczone jako konkretne zmienne.
Zaletą jest oddzielenie warstwy aplikacji od warstwy wyglądu, a także możliwość szybkiej zmiany wyglądu strony poprzez podmianę szablonu.
Ba - programista PHP nie musi nawet zbyt wiele wtedy wiedzieć o znacznikach HTML, ale... to już daleko posunięta specjalizacja.

Pozdro
phpion
@TomaySOFT:
Nie zgodzę się z Tobą. PHP to akurat taka dziedzina programowania, w której nie wystarczy znać samego PHP. Moim zdaniem każdy programista powinien znać oprócz PHP również HTML, CSS, JS itd itd. Można porównać to do zawodu kierowcy: wsiada i jedzie. Fajnie. A co w przypadku awarii? Prawdziwy kierowca powinien znać się również na mechanice pojazdowej gdyż w przeciwnym wypadku stając na jakimś odludziu z rozkraczonym samochodem rozłożyłby ręce i wzywał pomocy (a jak nie ma zasięgu na tym odludziu? smile.gif ). Ja osobiście nie wyobrażam sobie programisty PHP bez dobrej znajomości wcześniej wymienionych technik gdyż wszystkie one skladają się na możliwość wyprodukowania odpowiedniego softu.
I podobnie moim zdaniem wygląda sprawa grafików: powinni oni mieć pojęcie o tym jak tnie się ich laye do HTML. Nie jeden raz spotkałem się z sytuacją gdy grafik puścił wodze fantazji i stworzył kosmiczny lay, który po pocięciu ważyłby tony. Według mnie grafik powinien tworzyć zawsze z jakimś wyobrażeniem w jaki sposób będzie można poskładać jego dzieło.

@gino:
Ja zawsze rozdzielam kod wynikowy na 2 elementy: czysty HTML (tzw. semantyczny winksmiley.jpg ) oraz osobne ostylowanie go. W ten sposób otrzymuję dwie niezależne warstwy - HTML i CSS.
gino
ok. to jest wszystko jasne, tylko że czasami szkoda wytaczać armaty na mrówkę, zaciągając biblioteki framework'ów bardziej czy mniej rozbudowane a w obwodzie mieć dostępne proste obiekty generujące taki kod. Osobiście nie używam (jeszcze) frameworków, mimo, że ktoś napisze że wyważam już otwarte drzwi. Nie chciałbym sie uzależniać logicznie od tego typu aplikacji, choć na pewno są to rozwiązania dobre snitch.gif

gino
em1X
Cytat(phpion @ 19.02.2008, 10:41:04 ) *
Nie zgodzę się z Tobą. PHP to akurat taka dziedzina programowania, w której nie wystarczy znać samego PHP.


Ja też się z Tobą nie zgodzę, bo to nie jest reguła. Brałem udział w projekcie, gdzie każdy miał przypisaną rolę i akurat kwestie graficzne były całkowicie oddzielone od logiki. Moją rolą było takie skonstruowanie modułów, aby w wyniku zwracały konkretną tablicę albo obiekt. Nie było w tym ani krzty html'a. Wszystkim zajmowały się potem osoby odpowiedzialne za wygląd, otrzymując stosowne dane do Smarty.
gino
Cytat(em1X @ 19.02.2008, 15:21:41 ) *
<br />Ja też się z Tobą nie zgodzę, bo to nie jest reguła. Brałem udział w projekcie, gdzie każdy miał przypisaną rolę i akurat kwestie graficzne były całkowicie oddzielone od logiki. Moją rolą było takie skonstruowanie modułów, aby w wyniku zwracały konkretną tablicę albo obiekt. Nie było w tym ani krzty html'a. Wszystkim zajmowały się potem osoby odpowiedzialne za wygląd, otrzymując stosowne dane do Smarty.<br />
<br /><br /><br />

W porządku, bo też brałem udział w takich projektach, ale też miałem projekty w których wszystko od kodu poprzez java script-a do html-a (oprócz grafiki) robiłem sam. I tutaj taka wiedza wiedza przydaje się jak najbardziej, bo wcześniej czy później każdy to sie para php-cem w html-a musi wejść. Natomiast wracam do korzeni topica, czy ktoś miał przemyślenia lub oprogramował "obiekty" html-a aby można było w każdej chwili sięgnąć do takiej biblioteki nie mając narzędzi wizualnych do tworzenia warstwy html-a.


gino
em1X
ja tam chyba w dyskusji nie wezmę udziału, bo nie wiem o co chodzi sad.gif co rozumiesz przez "obiekty html", co właściwie jest Twoim problemem.
arecki
A po co wyważać otwarte drzwi ?
DOM" title="Zobacz w manualu PHP" target="_manual

Potrzebujesz przykład ? Proszę bardzo:
  1. <?php
  2. $domObject = new DOMDocument();
  3.  
  4. $html  = $domObject->createElement('html');
  5. $head  = $domObject->createElement('head');
  6. $title  = $domObject->createElement('title', 'mój tytuł strony');
  7. $body = $domObject->createElement('body');
  8. $body->setAttribute('onload', 'javascript:alert('nawet javascript działa')');
  9.  
  10. $head->appendChild($title);
  11. $html->appendChild($head);
  12. $html->appendChild($body);
  13. $domObject->appendChild($html);
  14.  
  15. echo $domObject->saveHTML();
  16. ?>


Mam nadzieję że o to Ci chodziło winksmiley.jpg.
gino
Cytat(arecki @ 19.02.2008, 23:16:49 ) *
A po co wyważać otwarte drzwi ?


nic nie wyważam, bawiłem się swego czasu DOM-em, ale jak wynika z postów część php-owców nie zna html-a, a DOM wymaga aby znać nazwiennictwo tagów i ich kolejność w dokumencie aby przeszedł np. walidację (tak mi sie wydaje snitch.gif ).

A mnie chodzi o coś takiego (to wyimaginowany kod aby zobrazować):

Kod
// chcę umiescić jakies dane (napis, text nieważne) w tabeli:

$dhtml = new obiekty_htmla();

$tresc = 'tresc do umieszczenia na stronie w tabeli';

$table = $dhtml->dodaj_element('tabela',$tresc);
$dhtml->zrob_htmla($table);


to tylko przykład, w nim nie interesuje mnie np. budowa nagłówka bo sam sie tworzy, opcjonalnie mogę podac kodowanie, jeśli nie to wstawia automatycznie np. utf-a, nie obchodzi nie, że tabela składa się z tagów <table><tr> itp. opcjonalnie mogę podać rozmiary itp. Może być to oparte na DOM-ie, czemu nie.


gino
arecki
Nic innego Ci nie pozostaje jak napisać klasę opartą na DOM ale ze zdefiniowanymi np. elementami jak TABLE, DIV czy inny FORM. Ja jakoś nie widziałem podobnego rozwiązania ale też nie szukałem więc możesz być pionierem w tym zagadnieniu smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.