Alle tools
Gratis

Een doorzoekbaar, afdrukbaar Laravel-naslagwerk — Artisan, routing, Eloquent, de query builder, migraties, Blade, validatie en collecties. Gratis.

Artisan CLI

14
php artisan serve
Start de lokale ontwikkelserver
php artisan make:model Post -mcr
Model met migratie, controller en resource
php artisan make:controller PostController
Genereer een nieuwe controllerklasse
php artisan make:migration create_posts_table
Maak een nieuw migratiebestand
php artisan migrate
Voer openstaande databasemigraties uit
php artisan migrate:fresh --seed
Drop alle tabellen, migreer opnieuw en seed
php artisan db:seed
Voer de database-seeders uit
php artisan tinker
Open een interactieve REPL-shell
php artisan route:list
Toon alle geregistreerde routes
php artisan optimize
Cache config, routes en views
php artisan queue:work
Verwerk jobs op de queue
php artisan schedule:work
Voer de scheduler op de voorgrond uit
php artisan storage:link
Symlink storage naar het public-pad
php artisan key:generate
Genereer de applicatiesleutel

Routing

13
Route::get('/users', [UserController::class, 'index'])
Definieer een GET-route naar een controller
Route::post('/users', [UserController::class, 'store'])
Definieer een POST-route
Route::put('/users/{user}', [UserController::class, 'update'])
Definieer een PUT-route
Route::patch('/users/{user}', [UserController::class, 'update'])
Definieer een PATCH-route
Route::delete('/users/{user}', [UserController::class, 'destroy'])
Definieer een DELETE-route
Route::get('/users/{id}', $fn)
Verplichte route-parameter
Route::get('/users/{id?}', $fn)
Optionele route-parameter
Route::get('/profile', $fn)->name('profile')
Benoem een route voor URL-generatie
Route::get('/admin', $fn)->middleware('auth')
Koppel middleware aan een route
Route::resource('posts', PostController::class)
Registreer RESTful resource-routes
Route::prefix('admin')->group(function () {})
Groepeer routes onder een URI-prefix
Route::controller(PostController::class)->group($fn)
Groepeer routes naar één controller
Route::fallback($fn)
Verwerk niet-gematchte routes (404)

Controllers

10
php artisan make:controller PostController --resource
Resource-controller met CRUD-methoden
public function __invoke(Request $request)
Single-action invokable controller
public function index() {}
Toon resources (resource-methode)
public function store(Request $request) {}
Persisteer een nieuwe resource
public function show(Post $post) {}
Toon één resource (route model binding)
public function __construct(PostService $svc) {}
Injecteer een dependency via de constructor
return view('posts.index', ['posts' => $posts])
Retourneer een Blade-view met data
return response()->json($data)
Retourneer een JSON-response
return redirect()->route('posts.index')
Redirect naar een benoemde route
return back()
Redirect naar de vorige pagina

Eloquent ORM

14
Post::all()
Haal elk record op
Post::find($id)
Vind een record op primaire sleutel
Post::where('active', true)->first()
Eerste record dat aan een voorwaarde voldoet
Post::create(['title' => 'Hi'])
Mass-assign en persisteer een record
$post->update(['title' => 'Edited'])
Werk een bestaand model bij
$post->delete()
Verwijder een model-instance
Post::firstOrCreate(['slug' => $slug])
Vind of maak een overeenkomend record
Post::updateOrCreate($attrs, $values)
Werk bij indien gevonden, maak anders aan
Post::with('author')->get()
Eager load een relatie
public function comments() { return $this->hasMany(Comment::class); }
Een-op-veel-relatie
public function author() { return $this->belongsTo(User::class); }
Inverse een-op-veel-relatie
protected $fillable = ['title', 'body'];
Mass-assignable attributen
protected function casts(): array { return ['published_at' => 'datetime']; }
Attribuut-casts (casts()-methode)
Post::onlyTrashed()->restore()
Herstel soft-deleted records

Query builder

13
DB::table('users')->get()
Haal alle rijen uit een tabel op
DB::table('users')->where('votes', '>', 100)->get()
Filter rijen op een voorwaarde
DB::table('users')->join('posts', 'users.id', '=', 'posts.user_id')
Inner join twee tabellen
DB::table('users')->orderBy('name')->get()
Sorteer resultaten op een kolom
DB::table('orders')->groupBy('status')->get()
Groepeer rijen op een kolom
DB::table('users')->select('name', 'email')->get()
Selecteer specifieke kolommen
DB::table('users')->insert(['name' => 'Sam'])
Voeg een nieuwe rij in
DB::table('users')->where('id', 1)->update(['votes' => 1])
Werk matchende rijen bij
DB::table('users')->pluck('email')
Haal een enkele kolom op als collectie
DB::table('users')->count()
Tel overeenkomende rijen
DB::table('users')->where('id', 1)->exists()
Controleer of er rijen bestaan
DB::table('users')->paginate(15)
Pagineer de resultaten
DB::table('users')->chunk(100, $fn)
Verwerk resultaten in chunks

Migraties & schema

12
Schema::create('posts', function (Blueprint $table) {})
Maak een nieuwe tabel
$table->id()
Auto-incrementerende primaire sleutel
$table->string('title')
VARCHAR-kolom
$table->integer('votes')
Integer-kolom
$table->boolean('active')
Boolean-kolom
$table->timestamps()
created_at- en updated_at-kolommen
$table->foreignId('user_id')->constrained()
Foreign key met een constraint
$table->string('note')->nullable()
Sta NULL-waarden toe
$table->boolean('active')->default(true)
Stel een standaardwaarde in
$table->index('slug')
Voeg een index toe aan een kolom
$table->unique('email')
Voeg een unieke constraint toe
$table->dropColumn('votes')
Drop een kolom

Blade-templates

14
@if ($ok) ... @elseif ($x) ... @else ... @endif
Voorwaardelijke rendering
@foreach ($posts as $post) ... @endforeach
Loop over een collectie
@forelse ($posts as $post) ... @empty ... @endforelse
Loop met een lege fallback
{{ $variable }}
Echo escaped uitvoer
{!! $html !!}
Echo unescaped ruwe HTML
@extends('layouts.app')
Erf van een layout
@section('content') ... @endsection
Definieer een layout-sectie
@yield('content')
Voer een sectie uit in een layout
@include('partials.nav')
Include een andere view
<x-alert type="error" />
Render een Blade-component
@csrf
CSRF-token-veld voor formulieren
@auth ... @endauth
Toon content aan geauthenticeerde gebruikers
@can('update', $post) ... @endcan
Autorisatie-gate-controle
{{ $loop->index }}
Loop-variabele binnen @foreach

Validatie

12
$request->validate(['title' => 'required'])
Valideer request-data inline
'email' => 'required|email'
Verplichte en geldige e-mailregel
'name' => 'required|max:255'
Verplicht met een maximale lengte
'email' => 'unique:users,email'
Moet uniek zijn in een tabel
'age' => 'nullable|integer|min:18'
Optionele integer met een minimum
'role' => ['required', Rule::in(['admin', 'user'])]
Beperk tot toegestane waarden
php artisan make:request StorePostRequest
Genereer een Form Request-klasse
public function rules(): array { return [...]; }
Form Request-validatieregels
public function authorize(): bool { return true; }
Form Request-autorisatie
public function messages(): array { return [...]; }
Aangepaste validatieberichten
$validator = Validator::make($data, $rules)
Maak een validator handmatig
$request->validated()
Haal alleen gevalideerde invoer op

Requests & responses

10
request()->input('name')
Haal een invoerwaarde op
request()->query('page')
Haal een querystring-waarde op
request()->all()
Haal alle invoer op als een array
request()->only(['name', 'email'])
Haal een subset van invoer op
request()->has('name')
Controleer of invoer aanwezig is
response()->json(['ok' => true])
Retourneer een JSON-response
redirect()->route('home')->with('status', 'Saved')
Redirect met een flash-bericht
back()->withInput()
Redirect terug met behoud van oude invoer
abort(404)
Gooi een HTTP-exception
abort_if($user->banned, 403)
Breek de request voorwaardelijk af

Collecties

13
$collection->map(fn ($x) => $x * 2)
Transformeer elk item
$collection->filter(fn ($x) => $x > 0)
Behoud overeenkomende items
$collection->each(fn ($x) => $x->save())
Voer een callback uit per item
$collection->pluck('name')
Extraheer één kolom
$collection->reduce(fn ($c, $x) => $c + $x, 0)
Reduceer tot een enkele waarde
$collection->sortBy('created_at')
Sorteer op een sleutel
$collection->groupBy('status')
Groepeer items op een sleutel
$collection->where('active', true)
Filter op een sleutel/waarde-paar
$collection->first()
Haal het eerste item op
$collection->contains('name', 'Sam')
Controleer op een overeenkomend item
$collection->sum('price')
Tel een kolom op
$collection->flatten()
Plat geneste collecties uit
$collection->toArray()
Converteer naar een gewone array

Auth & middleware

11
Auth::user()
Haal de geauthenticeerde gebruiker op
Auth::check()
Controleer of een gebruiker is ingelogd
Auth::id()
Haal het geauthenticeerde gebruikers-ID op
Auth::login($user)
Log een gebruiker in
Auth::logout()
Log de huidige gebruiker uit
auth()->user()
Helper voor de huidige gebruiker
Route::get('/home', $fn)->middleware('auth')
Bescherm een route met auth
Gate::allows('update', $post)
Controleer een autorisatie-gate
$user->can('update', $post)
Controleer een ability tegen een policy
php artisan make:policy PostPolicy --model=Post
Genereer een autorisatie-policy
php artisan make:middleware EnsureTokenIsValid
Genereer een middleware-klasse

Hulpklassen & diversen

12
config('app.name')
Lees een config-waarde
env('APP_DEBUG', false)
Lees een omgevingsvariabele
route('posts.show', $post)
Genereer een URL naar een benoemde route
url('/dashboard')
Genereer een volledig gekwalificeerde URL
asset('css/app.css')
URL voor een publieke asset
old('email')
Haal oude flashed invoer op
now()->addDays(7)
Huidige Carbon-tijdstempel
Str::slug('My Title')
String-helper (slugify)
collect([1, 2, 3])->sum()
Maak een collectie van een array
cache()->remember('key', 60, $fn)
Cache een waarde voor een bepaalde duur
dd($value)
Dump een waarde en stop
Storage::put('file.txt', $contents)
Schrijf een bestand naar storage

Geen vermelding komt overeen met “:q”.


Hulp nodig?
Een probleem met deze tool gevonden? Laat het ons weten.
Een probleem melden

Voeg deze gratis tool toe aan je eigen website — kopieer en plak de onderstaande code.