Współczesne witryny internetowe tworzone w PHP powstają w oparciu o języki: XHTML, CSS, PHP, Smarty, SQL, którym niekiedy towarzyszą JavaScript oraz DOM. Jakie argumenty przemawiają za tak dużym stopniem złożoności, wydawałoby się, prostego zadania? W artykule opiszę rolę każdego z języków oraz przedstawię przykładową aplikację przygotowaną w taki sposób, by wprowadzanie modyfikacji wymagało jak najmniej pracy.Aplikacje internetowe – Stosowane języki
Współczesne witryny internetowe tworzone w PHP powstają w oparciu o języki:
XHTML, CSS, PHP, Smarty, SQL, którym niekiedy towarzyszą JavaScript oraz DOM.
Jakie argumenty przemawiają za tak dużym stopniem złożoności, wydawałoby się,
prostego zadania? W artykule opiszę rolę każdego z języków oraz przedstawię
przykładową aplikację przygotowaną w taki sposób, by wprowadzanie modyfikacji
wymagało jak najmniej pracy.
XHTML
Język XHTML służy do opisania struktury dokumentu WWW. W chwili obecnej nie ma żadnego zamiennika dla tego języka, jest to
więc element absolutnie konieczny każdej witryny internetowej. XHTML wyparł swojego poprzednika – HTML. Pomimo tego, że większa część internetu jest wykonana w języku HTML
oraz faktu, że języki HTML i XHTML są niemal tożsame, w nowych projektach trzymać się języka XHTML.
W odniesieniu do języka XHTML należy zwrócić
uwagę na:
- pracę w trybie zgodności ze standardami,
- poprawność,
- rezygnację z układów tabelkowych na rzecz układów tworzonych przy użyciu elementów div i stylów CSS,
- semantyczność.
Pracę w trybie zgodności ze standardami wymuszamy stosując odpowiednią deklarację
DOCTYPE. Deklaracja języka XHTML 1.0 stict:
1 |
<!DOCTYPE html PUBLIC \"-//W3C//DTDXHTML 1.0 Strict//EN\"\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> |
zapewnia tryb zgodności ze standardami.
Poprawność dokumentu należy kontrolować od
samego początku pracy nad projektem, wykorzystując:
- HTML Validator (wtyczkę programu Firefox),
- W3C Validator (walidator dostępny pod adresem
http://validator.w3c.org),
- interpretację dokumentów XML przez przeglądarkę Firefox (wymuszenie typu application/xhmtl+xml).
Jeśli witryna jest tworzona w PHP, to walidację
trzecim sposobem wykonasz, dodając do kodu PHP
wywołanie:
1 |
header(\'Content-Type: application/xhtml+xml; charset=utf-8\'); |
Wówczas jakiekolwiek błędy w kodzie XHTML
spowodują, że Firefox wyświetli – zamiast strony
WWW – jedynie komunikat o błędzie.
Kolejnym wymaganiem jest rezygnacja z układów tabelkowych. Nowoczesne witryny są tworzone
w oparciu o elementy div i arkusze stylów CSS. Nie ma od tego odwrotu. Zdarzają się sytuacje,
w których można mieć wątpliwości: czy prezentowane dane należy traktować jako tabelaryczne.
Przykładami powodów takich dylematów są:
- zestawienie: zdjęcie samochodu, podpis i opis
prezentowane jedno po drugim, - lista ofert: nazwa produktu, zdjęcie, opis.
Nie ma jednak wątpliwości co do tego, że
wykonywanie menu w postaci tabelki jednowierszowej czy jednokolumnowej jest błędem
(przynajmniej z punktu widzenia zgodności strony ze standardami). Menu należy wykonywać w postaci
list ul bądź ol. Zaletą takiego rozwiązania – oprócz minimalizacji kodu XHTML – jest także to,
że przeglądarka może wyznaczyć liczbę elementów menu. Ma to znaczenie w przypadku przeglądarek
czytających witryny internetowe, z których korzystają osoby niewidome oraz niedowidzące.
Ostatnim z wymienionych wymagań jest
semantyczność kodu XHTML. Semantyczność kodu XHTML oznacza, że powinien on odzwierciedlać strukturę informacji na witrynie WWW, a nazwy identyfikatorów i klas powinny informować o roli elementu, a nie o jego formacie. Pierwszym etapem osiągnięcia semantyczności jest rezygnacja z układów tabelkowych na rzecz divów, stylów CSS oraz menu w postaci list.
Dodatkowo, tytuły i podtytuły różnych rodzajów wykonujemy, stosując
nagłówki h1, …, h6. Należy zwracać uwagę na nadmiarowość kodu, zarówno jeśli chodzi
o nadawanie zbyt dużej liczby identyfikatorów id i klas class, jak i o liczbę elementów div czy span.
Głównym narzędziem, jakie stosuję do minimalizacji liczby klas i identyfikatorów, są selektory typu
potomek w arkuszach stylów. Polega to na tym, że jeśli w kodzie XHTML występuje element
1 2 3 4 5 6 7 8 9 |
<div id=\"menu\">: <div id=\"menu\"> <p> Lorem ipsum... </p> <p> Dolor <em>sit</em> amet... </p> </div> |
to style elementów zawartych wewnątrz sekcji {html}





