Laravel Academy
Blog / Tutorial

Tutorial

Stap 3. Artisan voor beginners: de commando's die je elke week gebruikt

Laravel heeft een eigen gereedschapskist in je terminal. Leer de handvol Artisan-commando's waarmee je bestanden genereert, je database bijwerkt en in je app kijkt, zonder je editor te verlaten.

J

Joram

Laravel-trainer & ontwikkelaar

01 okt 2026 · 8 min leestijd

Het probleem

Je hebt je eerste Laravel-project gestart met php artisan serve. Wat je misschien niet doorhad: dat was meteen je eerste kennismaking met het gereedschap dat je als Laravel-developer het vaakst gebruikt. Artisan is Laravel's command-line tool. Het genereert bestanden, draait je migrations en laat je in je app kijken, allemaal zonder je terminal te verlaten.

Wat je leert

  • Wat Artisan is en hoe een Artisan-commando is opgebouwd
  • Hoe je ontdekt welke commando's er zijn en wat ze doen
  • De make:-commando's waarmee je bestanden genereert
  • Hoe je migrations draait en de status ervan bekijkt
  • Hoe je in je app kijkt met about, route:list en tinker

Voorkennis

Wat is Artisan?

In de root van elk Laravel-project staat een bestand dat simpelweg artisan heet. Dat is een PHP-script, en elk commando start je door PHP dat script te laten uitvoeren:

php artisan <commando> <argumenten> --<opties>

Je kunt Artisan zien als een assistent die het saaie werk voor je doet. In plaats van zelf een controller-bestand aan te maken, de juiste map te zoeken en de basiscode over te typen, vraag je Artisan om het te doen. Het resultaat staat altijd op de juiste plek, met de juiste opzet.

De commando's zijn gegroepeerd met een dubbele punt: alles wat met migrations te maken heeft begint met migrate, alles wat iets genereert met make:, alles over routes met route:.

Stap voor stap

Stap 1 — Ontdek wat er is

Je hoeft geen commando's uit je hoofd te leren. Artisan vertelt je zelf wat het kan:

php artisan list

Je ziet een lange lijst, gegroepeerd per onderwerp. Wil je weten wat één specifiek commando doet en welke opties het heeft? Zet er --help achter:

php artisan make:controller --help

Dit is het belangrijkste commando van deze hele post. Elk ander commando kun je hiermee zelf onderzoeken.

Stap 2 — Bestanden genereren met make:

De make:-commando's maken nieuwe bestanden aan op de juiste plek. Een controller:

php artisan make:controller CourseController

Dit maakt app/Http/Controllers/CourseController.php aan, met de juiste namespace en een lege klasse, klaar om te vullen.

Een model met bijbehorende migration in één keer:

php artisan make:model Course -m

De optie -m zorgt dat Laravel naast app/Models/Course.php ook een migration aanmaakt in database/migrations/, met een naam als 2026_10_01_120000_create_courses_table.php. Je hoeft dus niet twee losse commando's te onthouden.

Andere make:-commando's die je snel tegenkomt:

php artisan make:migration add_price_to_courses_table
php artisan make:seeder CourseSeeder
php artisan make:request StoreCourseRequest

Stap 3 — Je database bijwerken met migrate

Een migration beschrijft een wijziging in je database, zoals het aanmaken van een tabel. Met dit commando voer je alle migrations uit die nog niet zijn gedraaid:

php artisan migrate

Wil je zien welke migrations al zijn uitgevoerd en welke nog niet?

php artisan migrate:status

Heb je net een migration gedraaid en zie je een fout in je kolommen? Draai de laatste batch terug, pas de migration aan en draai hem opnieuw:

php artisan migrate:rollback
php artisan migrate

Stap 4 — In je app kijken

Artisan genereert niet alleen dingen, het laat je ook zien wat er in je app gebeurt. Een overzicht van je omgeving, Laravel-versie, database en cache-instellingen:

php artisan about

Alle routes in je app, met URL, HTTP-methode en de controller die ze afhandelt:

php artisan route:list

Op dit moment zie je hier nog weinig. In de volgende post, over routing, wordt dit een van je beste vrienden.

Stap 5 — Snel iets uitproberen met tinker

tinker opent een interactieve PHP-omgeving waarin je hele Laravel-app geladen is. Ideaal om even snel iets te controleren:

php artisan tinker

Daarna typ je gewone PHP:

config('app.name');
now()->addDays(7)->format('d-m-Y');

Met exit ga je er weer uit.

Veelgemaakte fouten

1. Artisan draaien buiten je projectmap

Krijg je deze melding?

Could not open input file: artisan

Dan sta je in de verkeerde map. Het artisan-bestand staat in de root van je project, dus daar moet je terminal ook staan. Ga eerst naar je project:

cd pad/naar/je-project
php artisan list

2. migrate:fresh gebruiken zonder te weten wat het doet

Je komt online vaak het advies tegen om php artisan migrate:fresh te draaien als er iets misgaat met je database. Dat werkt, maar dit commando verwijdert al je tabellen, inclusief alle data, en bouwt ze opnieuw op. Lokaal met testdata is dat prima. Draai het nooit op een database waarvan je de data wilt houden. Twijfel je? Gebruik migrate:rollback en migrate:status, die zijn veel minder destructief.

3. Je hebt iets aangepast, maar je app gebruikt nog de oude versie

Laravel cachet sommige dingen, zoals config, routes en views, om sneller te zijn. Heb je ooit een cache-commando gedraaid, dan kan je app oude gegevens blijven gebruiken. Met één commando leeg je alle caches tegelijk:

php artisan optimize:clear

Loop je ergens vast en snap je niet waarom je wijziging niet zichtbaar is? Dit is altijd een goede eerste stap.

Samenvatting

  • Artisan is Laravel's command-line tool, en je start elk commando met php artisan.
  • php artisan list en --help laten zien wat er is. Je hoeft niets uit je hoofd te leren.
  • make:-commando's genereren bestanden op de juiste plek, en make:model Course -m maakt meteen ook een migration.
  • migrate, migrate:status en migrate:rollback beheren je database, maar wees voorzichtig met migrate:fresh.
  • about, route:list en tinker laten je in je app kijken, en optimize:clear lost veel "waarom verandert er niets"-momenten op.

Hoe verder?

In de volgende post duiken we in routing in Laravel. Daar wordt route:list echt nuttig, omdat je ziet hoe elke URL in je app bij de juiste code terechtkomt.

Wil je verder dan deze handvol commando's? In de Laravel 13-training zitten de volledige command-referentie en de werkgewoontes die je dagelijks tijd besparen, en je oefent ze meteen in een echt project.

01 okt 2026 Tutorial