Include - struktura serwisu WWW
| DZIAŁANIE: |
Pamiętacie tą strukturę:
|
||||||
Kod:
Którą realizowaliśmy kodem:

Ewentualne Objaśnienia:
Mówiłem już parę razy o efekcie uzyskiwania linków do pod stron w serwisie typu: www.adres.pl/index.php?id=22 itp. W poprzedniej lekcji omówiłem jak stworzyć strukturę serwisu w oparciu o kilka plików wykorzystując funkcję include.
Trzeba by teraz rozpatrzyć dwa przypadki:
- pierwszy tylko zawartość - "środek" serwisu jest dołączony przez include z
zewnętrznych plików, a reszta jest "stała". Czyli sytuacja przeciwna do tej
pokazanej powyżej. Wtedy jedynie w pliku index.php ( głównym pliku serwisu )
wstawiamy w miejscu zawartości serwisu znany nam kod:
<?php // switch adresacja podstron w serwisie WWW
switch($_GET['id'])
{
case '1':
include 'jakaspodstrona.php';
break;
case '2':
include 'innapodstrona.php';
break;
--- itd itd ---
default:
include 'zawartosc_strony_glownej.php';
break;
}
?>
Wtedy jedynie na stronie głównej linką nadajemy hiperłącza typu: index.php?id=1 .
- drugi przypadek to taki jak na przedstawionym przykładzie oraz
kodzie. Tutaj każda pod strona nie jest tylko zawartością merytoryczną danej pod
strony, ale także zawiera ( dzięki przedstawionemu kodowi PHP ) od razu część
lewą, dolną i górną.
W tej sytuacji warto adresację zrobić poprzez osobny plik. Przykładowo robimy
serwis hmm o samochodach. Robimy przykładowo dodatkowy plik o nazwie
samochody.php. W nim umieszczamy kod taki sam jak w przypadku pierwszym.
Jednakże nasze łącza nie będą już poprzez plik index.php tylko samochody.php przykładowo: samochody.php?id=1 .
Warto zawsze pomyśleć robiąc serwis, jego strukturę jak potem będziemy
adresować wszystko sobie. Zawsze też można zrobić zewnętrzny plik ze wszystkimi
instrukcjami i dołączyć go przykładowo poprzez funkcję require, a następnie
odwoływać się do pliku index, a nie zewnętrznego.
Jak też mówiłem można też korzystać z instrukcji if zamiast switch jednak jak
już wspominałem switch to lepsze rozwiązanie. Także można korzystać z instrukcji
header zamiast include - jednak jeśli się zastanowicie to tutaj miałoby to sens
jedynie dla omówionego drugiego przypadku.
Pamiętajcie też że nazwę 'id' w instrukcji switch od zmiennej $_GET można zmieniać np. :
switch($_GET['SITE'])
{
case 'samochody':
include 'cos_o_samochodach.php';
break;
case 'autobusy':
include 'cos_o_autobusach';
break;
--- itd itd ---
default:
include 'zawartosc_strony_glownej.php';
break;
}
?>
Wtedy nasz link ma postać np. : index.php?SITE=samochody czy index.php?SITE=autobusy