Laravel-applicatie met Filament als admin-panel. Dit document beschrijft hoe je het project lokaal opzet op macOS met Laravel Herd en MySQL.
- macOS
- Laravel Herd (PHP 8.5 wordt meegeleverd)
- MySQL (lokaal draaiend; bijvoorbeeld via DBngin)
- Composer
- Node.js (LTS) en npm
Controleer versies:
php -v # 8.5.x
composer -v
node -v
mysql --versiongit clone :REPO_URL:
cd :FOLDER:Zet het project in een map die Herd kan serveren (bijv. ~/Projecten/:FOLDER: of je huidige projectmap).
- Open Laravel Herd (klik op het Herd-icoon in de menubalk).
- Ga naar Sites (of Add Site / Open).
- Kies Add Site
- Kies Link existing project en selecteer de map van dit project (bijv.
~/Projecten/:FOLDER:). - Herd gebruikt de mapnaam als hostnaam: de site is bereikbaar op :APP_URL: (of
http://[mapnaam].test).
Zorg dat de mapnaam geen spaties of vreemde tekens bevat, anders wordt de URL lastiger. Pas anders APP_URL in .env (stap 4) aan op de daadwerkelijke URL.
composer installKopieer het voorbeeldbestand en pas aan waar nodig:
cp .env.example .env
php artisan key:generateBelangrijk voor lokale ontwikkeling:
- APP_URL – Zet op
:APP_URL:(Herd gebruikt de mapnaam als hostnaam). - DB_DATABASE – Database naam (standaard in
.env.example::DB_DATABASE:). - DB_USERNAME en DB_PASSWORD – Je MySQL-gebruiker en wachtwoord.
Externe services (Microsoft, SharePoint, Exact, VWE, etc.) zijn optioneel voor basisgebruik; je kunt die variabelen leeg laten of later invullen.
php artisan migrateOptioneel: seeders draaien als je startdata wilt (bijv. rollen, eerste gebruiker):
php artisan db:seednpm install
npm run buildTijdens ontwikkeling kun je in een aparte terminal npm run dev draaien voor hot reload.
Zorg dat APP_URL in .env exact overeenkomt met de URL die je in de browser gebruikt (bijv. :APP_URL:), inclusief http:// of https://.
De applicatie gebruikt de database als queue driver. Voor jobs (e-mails, imports, etc.) moet lokaal een worker draaien:
php artisan queue:listen| Commando | Doel |
|---|---|
php artisan migrate |
Migraties uitvoeren |
php artisan db:seed |
Seeders uitvoeren |
php artisan queue:listen |
Queue worker starten |
npm run dev |
Vite dev server (hot reload) |
npm run build |
Assets bouwen voor productie |
php artisan shield:generate --all |
Shield permissies genereren (bijv. na het aanmaken van een nieuw model) |
- Session/cache/queue gebruiken de database. Zorg dat migraties zijn gedraaid zodat de benodigde tabellen bestaan.
- Filament heeft mogelijk een admin-gebruiker nodig; controleer of er een seeder is die een eerste admin aanmaakt, of maak handmatig een gebruiker met het juiste rol/recht.
- Externe API’s (Exact, Microsoft, VWE, etc.): voor alleen de basis-app hoef je deze niet in te vullen. Vul ze wanneer je die integraties lokaal wilt testen.
- Mapnaam vs. URL: als je de map hernoemt (bijv. naar
:PROJECT_NAME:), verandert de Herd-URL mee; pas danAPP_URLaan.