Include - struktura serwisu WWW

DZIAŁANIE: Pamiętacie tą strukturę:
GÓRNA CZĘŚĆ

GÓRNA CZĘŚĆ

GÓRNA CZĘŚĆ

LEWA CZĘŚĆ

ZAWARTOŚĆ SERWISU
GÓRNA CZĘŚĆ

Jakaś STOPKA

 

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