Ga naar hoofdinhoud

Wat is Laravel en hoe begin je ermee?

Als je nog niet weet wat een framework precies is of hoe frontend, backend en full-stack verschillen, lees dan eerst de pagina met de populairste frameworks. Hier begin je direct met Laravel. Laravel is een backend framework voor PHP, een programmeertaal die al lang op servers draait. In deze pagina leer je hoe je een eerste project opzet en welke onderdelen je het vaakst gebruikt.

Waarom kies je voor Laravel?​

Taylor Otwell maakte Laravel. Het kwam in 2011 uit en is het dominante PHP-framework. Laravel heeft een elegante schrijfstijl en uitstekende documentatie. Veel dingen die je nodig hebt, zitten al ingebouwd, zoals inloggen, e-mail, bestandsbeheer en een databasekoppeling.

Denk aan een complete keukenset die al in je nieuwe huis staat. Je hoeft geen pannen, messen of kookplaten zelf te kopen. Je kunt meteen koken. Laravel werkt zo: de belangrijkste gereedschappen liggen al klaar.

Wat is PHP?

PHP is een programmeertaal die op de server draait. Als je een pagina opvraagt, maakt PHP de HTML klaar en stuurt die naar de browser. Veel grote websites draaien op PHP.

Laravel is een goede keuze als je een website of webapplicatie bouwt die veel gegevens toont en bewerkt. Denk aan een webwinkel, een ledenadministratie of een blog met een beheerpaneel.

Hoe zet je een eerste Laravel-project op?​

Je hebt drie dingen nodig: PHP, Composer en later eventueel een database. Composer is een hulpprogramma dat PHP-pakketten voor je installeert. Het werkt zoals npm voor JavaScript. Installatie-uitleg vind je op de officiële Laravel-installatiepagina.

Met Composer maak je een nieuw project aan:

Terminal
composer create-project laravel/laravel my-app
cd my-app
php artisan serve

Wat doen deze commando's?

  • composer create-project laravel/laravel my-app downloadt Laravel en maakt de map my-app.
  • cd my-app zet je in die map.
  • php artisan serve start een lokale ontwikkelserver op je eigen computer.

Open daarna http://127.0.0.1:8000 in je browser. Je ziet de standaard Laravel-startpagina. Stop de server met Ctrl + C.

Gebruik de Laravel-installer

Laravel heeft ook een eigen installer. Die maakt een project aan met één korte opdracht. Lees hoe het werkt in de officiële documentatie. Dan weet je zeker dat je de meest actuele methode gebruikt.

Hoe ziet een Laravel-project eruit?​

Een Laravel-project heeft veel mappen. Voor een beginner zijn deze het belangrijkst:

my-app/
app/ ← de logica van je applicatie
routes/
web.php ← de adressen van je website
resources/
views/ ← de HTML-pagina's (Blade-bestanden)
public/ ← het publieke startpunt en plaatjes
.env ← geheime instellingen zoals je databasewachtwoord
artisan ← het hulpprogramma van Laravel

Je werkt vooral in routes en resources/views. Het bestand .env bevat instellingen die je niet op internet wil zetten. Daarom staat het los van je gewone code.

Hoe ziet een eerste Laravel-route eruit?​

Open het bestand routes/web.php. Voeg daar een nieuwe route toe:

routes/web.php
<?php

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
return view('welcome');
});

Route::get('/hello/{name}', function (string $name) {
return view('hello', ['name' => $name]);
});

Maak daarna het bestand resources/views/hello.blade.php aan:

resources/views/hello.blade.php
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<title>Hallo</title>
</head>
<body>
<h1>Hallo, {{ $name }}!</h1>
</body>
</html>

Wat gebeurt hier?

  • Route::get('/hello/{name}', ...) vertelt Laravel: als iemand /hello/Anna opvraagt, voer dan deze functie uit.
  • {name} is een variabel stukje van het adres. In dit voorbeeld is dat Anna.
  • view('hello', ...) kiest het bestand hello.blade.php en geeft er de naam mee.
  • {{ $name }} is een Blade-opmerking. Blade is de template-taal van Laravel. Die zet de waarde in de HTML. Laravel beschermt die waarde ook tegen gevaarlijke code.

Open nu http://127.0.0.1:8000/hello/Anna in je browser. Je ziet "Hallo, Anna!" staan.

Welke kernbegrippen moet je kennen in Laravel?​

  • Routes koppelen een adres aan een actie. Ze staan in routes/web.php.
  • Controllers bundelen de logica van een pagina. Ze zijn handig als je code groter wordt.
  • Blade-templates zijn de HTML-pagina's met extra mogelijkheden zoals {{ }}. Ze staan in resources/views.
  • Models vertegenwoordigen een tabel in de database. Met een model lees en schrijf je gegevens zonder ruwe SQL te typen. Lees meer in de officiële Eloquent-documentatie.
  • Migraties zijn bestanden die je database stap voor stap aanpassen. Zie ze als een logboek van wijzigingen.
  • Artisan is het hulpprogramma waarmee je commando's uitvoert, zoals php artisan serve.

Wil je alles rustig doorlezen? De Laravel-documentatie is een van de beste in de wereld van webframeworks. Ze heeft voorbeelden en een duidelijke volgorde.

Wanneer kies je voor Laravel?​

  • Je werkt in een PHP-omgeving of bij een bedrijf dat PHP gebruikt.
  • Je wil een volledig framework dat veel zelf regelt.
  • Je bouwt een website met veel content, zoals een blog, webwinkel of beheerpaneel.
  • Je wil een grote en behulpzame community die je bij vragen helpt.

Vergelijk Laravel met Express. Express is klein en vrij, Laravel is compleet en gestructureerd. Liever Python? Dan is Django een vergelijkbaar, compleet framework. Wil je alle opties naast elkaar zien? Lees dan de overzichtspagina over de populairste frameworks.

Veelgemaakte fout

Vergeet je de dubbele accolades niet? Schrijf je $name zonder {{ }}, dan zie je de letters $name op het scherm in plaats van de waarde. Gebruik altijd de dubbele accolades in een Blade-bestand.

Wat leer je hierna?​

Je weet nu hoe een Laravel-project eruitziet, hoe een route werkt en hoe je een Blade-pagina maakt. Probeer eens een tweede pagina toe te voegen met een eigen adres. Daarna is het goed om te leren werken met een database en modellen. De officiële Laravel-documentatie heeft daar een duidelijk hoofdstuk over.

Je bent nu bezig met een complete backend. Blijf oefenen, want met elke route word je handiger!

☕
Kop koffie nodig?

Probeer De Koffiejongens met 50% korting op je bestelling. Geteeld door boeren die met de natuur werken en eerlijk betaald krijgen.