## $_SERVER variabele

Omdat je deze code maar één keer maakt is het niet zo belangrijk om dit zelf te kunnen. (copy-paste) is genoeg.

In PHP zitten een groot aantal voorgedefinieerde variabele. Eén daarvan, $_SERVER, deze hebben we nodig. Let op onderstaande code is best ingewikkeld. Als je het niet helemaal begrijpt geen zorgen. Copy-paste is genoeg.

index.php

    <pre>
    <?php
    var_dump($_SERVER);
    die();
    ?>
    </pre>

De `var_dump()` funtie zal de inhoud van een variabele op het scherm schrijven. Als deze klaar is wordt de `die()` functie aangeroepen en zal verdere uitvoer van het script stoppen.

Als we weer naar `http://localhost` gaan is alles nu wat beter leesbaar.

### request_uri

Wij zijn voor onze router geïntresseerd in $_SERVER['REQUEST_URI'] in deze variabele is te zien welke url wordt opgevraagd.

Typ maar eens achter http://localhost/home

      ["REQUEST_URI"]=>
      string(17) "/home"

Of bij http://localhost/home?id=20

      ["REQUEST_URI"]=>
      string(23) "/home?id=20"

Wij gaan nu deze variabele gebruiken om onze router te maken.

Als eerst moeten we de query requests zoals id=20 van de url verwijderen. Daarvoor kunnen we gebruik maken van de functie `parse_url()`. De functie geeft een array terug

Probeer maar

    <pre>
    <?php
    var_dump(parse_url($_SERVER['REQUEST_URI']));
    die();
    ?>
    </pre>

Als je naar http://localhost/home?id=20 gaat

    array(2) {
      ["path"]=>
      string(17) "/home"
      ["query"]=>
      string(5) "id=20"
    }

Wij willen nu alleen 'path' hebben. Dan kan eenvoudig door

    <pre>
    <?php
    var_dump(parse_url($_SERVER['REQUEST_URI'])['path']);
    die();
    ?>
    </pre>

Met als resultaat

    string(17) "/home"

Als we nu ook nog de `/` ervoor weghalen dan hebben we 'home' over.

Het weghalen van de `/` kan door de `trim()` functie.

    $uri = trim(parse_url($_SERVER['REQUEST_URI'])['path'], "/");

Bij http://localhost/home?id=20 wordt $uri => "home"
Bij http://localhost/producten/nieuw wordt $uri => "producten/nieuw"
Bij http://localhost/contact.php zal het index bestand niet worden aanroepen maar het bestand contact.php