Wat is Wayfinder?
Laravel Wayfinder is een pakket dat je Laravel-backend en TypeScript-frontend zonder frictie met elkaar verbindt. Het genereert automatisch volledig getypeerde TypeScript-functies op basis van je controllers en routes, zodat je Laravel-endpoints direct als functies kunt aanroepen vanuit je frontend-code. Hardcoded URL’s, handmatig beheer van routeparameters en het handmatig synchroniseren van backend-wijzigingen — dat is allemaal niet meer nodig.Wayfinder is een bètaversie (momenteel v0.1.x). De API kan nog wijzigen tot de release van v1.0.0. Alle belangrijke wijzigingen worden vastgelegd in de CHANGELOG.
Verschillen tussen Ziggy en Wayfinder
Wat is Ziggy?
Ziggy is een routehelper die jarenlang breed werd gebruikt in het Laravel-ecosysteem. Het stelt de routedefinities van Laravel beschikbaar aan JavaScript, zodat je URL’s kon genereren in de vorm vanroute('posts.show', { id: 1 }).
Waarom is het vervangen door Wayfinder?
Omdat Ziggy routenamen en parameters als strings behandelt, had het beperkingen in de samenwerking met TypeScript. Typefouten in routenamen of verkeerde parameternamen leiden pas tot runtime-errors. Wayfinder is TypeScript-first ontworpen en genereert controllermethodes als importeerbare functies.
In de op Inertia gebaseerde Laravel starter kits (React, Vue, Svelte) is Wayfinder de standaard.
Installatie
1. Installeer het server-side pakket met Composer
2. Installeer de Vite-plugin met NPM
3. Voeg de plugin toe aan vite.config.js
TypeScript-definitiebestanden genereren
Genereer de TypeScript-bestanden met het commandowayfinder:generate.
resources/js.
--path.
Basisgebruik
Acties importeren en gebruiken
Een voorbeeld dat de URL genereert voor deshow-methode van PostController.
.url().
Parameters doorgeven
De functies van Wayfinder accepteren parameters in verschillende vormen./posts/{post:slug}), kun je die waarde gebruiken.
Een hele controller importeren
Je kunt ook een hele controller importeren en de methodes daarop aanroepen.Single action controllers
Een single action controller (invokable controller) roep je aan als de geïmporteerde functie zelf.Named routes importeren
Om routes via hun naam te benaderen gebruik je de bestanden onderroutes/.
Queryparameters
Aan alle Wayfinder-functies kun je queryparameters toevoegen met de optiequery.
mergeQuery.
Formuliervarianten
Voor gebruik in traditionele HTML-formulieren genereer je met de optie--with-form en gebruik je de .form-variant.
Inertia en Wayfinder combineren
Als je de formulierhelper van Inertia combineert met Wayfinder, kun je formulieren versturen zonder ook maar één URL-string te schrijven.Link-component werkt het op dezelfde manier.
Gebruik in de starter kits
Als je metlaravel new een nieuw project aanmaakt en React, Vue of Svelte kiest, krijg je een configuratie waarin Wayfinder automatisch is ingesteld. De starter kits bevatten het volgende.
- Composer-pakket
laravel/wayfinder - NPM-pakket
@laravel/vite-plugin-wayfinder - Plugin geconfigureerd in
vite.config.js - Gegenereerde mappen toegevoegd aan
.gitignore
Omgaan met methodenamen die botsen met gereserveerde woorden
Controllermethodes met dezelfde naam als een gereserveerd JavaScript-woord, zoalsdelete of import, krijgen het achtervoegsel Method.
Huidige status (v0.1.x)
De huidige stabiele versie wordt geleverd via dev0.1.x-branch. De nieuwste versie per maart 2026 is v0.1.15.
Belangrijkste wijzigingen in de v0.1.x-reeks
Next-generation features in ontwikkeling in de next-branch
In denext-branch wordt gewerkt aan een volgende versie met sterk uitgebreide functionaliteit ten opzichte van de huidige v0.1.x.
Het bereik van de gegenereerde TypeScript wordt flink uitgebreid
Waar v0.1.x zich beperkt tot routes en controlleracties, genereert de volgende versie dit alles als TypeScript.TypeScript-types genereren voor Form Requests
Types genereren voor Eloquent-modellen
types.d.ts.
PHP-enums omzetten naar TypeScript
Gewijzigde uitvoermappen
In v0.1.x waren er drie aparte mappen —actions/, routes/ en wayfinder/ — maar in de volgende versie wordt alles samengebracht onder resources/js/wayfinder.
Belangrijkste wijzigingen van v0.1.x naar next
- Het importpad verandert van
@/actions/...naar@/wayfinder/... - De flags
--skip-actions,--skip-routesen--with-formvervallen en verhuizen naar een configuratiebestand types.tswordttypes.d.ts
Samenvatting
Laravel Wayfinder is een pakket dat de functionaliteit die Ziggy bood — Laravel-routes refereren vanuit JavaScript — TypeScript-first opnieuw heeft ontworpen. Door de aanpak van gegenereerde functies die je importeert, is er een grote verbetering op het gebied van typeveiligheid, IDE-ondersteuning en tree shaking. Ook in de huidige v0.1.x kun je routes en controlleracties al typeveilig refereren, en het is standaard opgenomen in de op Inertia gebaseerde Laravel starter kits. De volgende versie, in ontwikkeling in denext-branch, groeit uit tot een nog completer typeveilig fundament dat ook Form Requests, Eloquent-modellen, enums en Inertia page props als TypeScript genereert.
Laravel Wayfinder GitHub
De broncode, CHANGELOG en issues vind je hier.
Vite Plugin Wayfinder
Details over de configuratieopties van de Vite-plugin vind je hier.