Skip to main content

Routes

In deze les leren we wat een route is en hoe dat in Laravel werkt.

Document Root

Even eenreminder. De document root is de directory waar je webserver begint. De document root is een configuratie parameter in de webserver config file. De parameter verwijst naar een directory op je file systeem en deze directory is waar de webserver zijn web pagina's verwacht.

Routes

Een route is een manier voor de webserver om te weten welke pagina hij moet laden. In een traditionele web app komt het pas in de URL overeen met het path in je document root.

Bijvooorbeeld als je gaat naar localhost/myproject/b/c/input.php

Dan kun je in je document root een directory vinden die myproject heet en daarin staat een directory die b heet en daarin staat dan weer de directory c waarin uteindelijk de file input.php staat.

In Laravel werkt dit anders.

Via een slimme truuk wordt alles wat naar Laravel verwijst opgevangen en het path uit de url wordt door de webserver en Laravel ontleed. Stel myproject was een laravel project in het vorige voorbeeld dan wordt de rest van het path b/c/input.php als een parameter aan Laravel doorgegeven en kun je in Laravel door middel van het definieren van een route aangeven wat er moet gebeuren.

Ga naar de file routes/web.php en open deze. Plaats de volgende code:

Route::get('/', function () {
	$links = \App\Link::all();
    return view('welcome', ['links' => $links]);
});

Wat hier staat is het volgende:

  1. als je naar de applicatie gaat / (dus geen subdirectory) dan
  2. haal je alle links op en zet je deze  in een array, dan
  3. geeft je dit array mee als value van een assiociative array aan de view 'welcome' en dan
  4. return de output van deze view (naar de browser).