Dla przykładu 3 stopniowa rejestracja w serwisie:
Struktura katalogowa:
grafika/
moduły/
nagłówek.php
stopka.php
rejestracjaKrok1.php
rejestracjaKrok2.php
rejestracjaKrok3.php
funkcje/
index.php
Struktura index.php:
<head> </head> <body> <? include('moduły/nagłówek.php'); $dział = $_GET['dz']; switch($dzial) { case 'rejK1': include('moduły/rejestracjaKrok1.php'); break; case 'rejK2': include('moduły/rejestracjaKrok2.php'); break; case 'rejK3': include('moduły/rejestracjaKrok3.php'); break; } include('moduły/stopka.php'); ?> </body>
Czyli link do rejestracji wyglądałby w stylu:
krok1 - domena.pl/index.php?dz=rejK1
krok2 - domena.pl/index.php?dz=rejK2
krok3 - domena.pl/index.php?dz=rejK3
Cała obsługa strony opiera się na przekazaniu zmiennej oznaczającej dział do linku, i po jej pobraniu w zależności od jej wartości wczytanie w odpowiednim miejscu index.php odpowiedniego pliku z fragmentem strony z katalogu moduły.
Ale w każdej stronie, nieuniknionym jest stworzenie kilku zmiennych w linku, np dla:
dział, poddział, temat, numerStrony, itd.....
Wiem, że można użyć mod_rewrite ale małe strony są przeważnie umieszczane na serwerach hostingowych, gdzie praktycznie brak możliwości konfiguracji, czy dostosowania serwera, modułów serwera do własnych potrzeb w pożądanym zakresie.
Natomiast obecnie tworząc stronę zastanawiam się nad innym sposobem:
Struktura katalogowa:
grafika/
rejestracja/
index.php (rejestracjaKrok1.php)
rejestracjaKrok2.php
rejestracjaKrok3.php
funkcje/
index.php
nagłówek.php
stopka.php
Struktura index.php (rejestracjaKrok1.php):
<head> </head> <body> <? include('../../nagłówek.php'); <!-- treść dla kroku1 rejstracji --> include('moduły/stopka.php'); ?> </body>
W sumie dzięki temu linki do odpowiednich etapów rejestracji wyglądałyby nastepująco:
krok1 - domena.pl/rejestracja/
krok2 - domena.pl/rejestracja/rejestracjaKrok2.php
krok3 - domena.pl/rejestracja/rejestracjaKrok2.php
Druga metoda tworzy przyjaźniejsze linki, i może wprowadza większy porządek w katalogach serwisu, ale za każdym razem trzeba tworzyć szkielet strony w każdym katalogu, natomiast w pierwszej szkielet znajduje się w pliku index.php, następnie wymieniane są tylko odpowiednie fragmenty strony.
Ogólnie proszę o paradę, osoby tworzące strony mają zapewne swoje zdanie na ten temat, wynikające z doświadczenia, itd... Która z metod tworzenia szkieletu strony i struktury katalogów jest lepsza, a może robicie to w inny sposób? Oczywiście jak pisałem wcześniej nie chodzi mi tu o przykłady z książki, configi, smarty, moduły publiczne, prywatne, ale o rozważenie tego pod kątem małego serwisu z działami, podziałami, systematycznie aktualizowanego opartego na bazie danych, który musi zacząć jakoś swoje istnienie, i zapewne nie zacznie na serwerze za kilka(kilknaście) tys zł ale za powiedzmy 1000zł za rok wykorzystując hosting.