Wat ga je maken?
Een beheeromgeving op /admin waar een ingelogde beheerder artikelen kan aanmaken, bewerken en verwijderen. Dit is het hart van je herbruikbare CMS.
Waarom is dit nuttig?
Dit is precies wat je aan een klant oplevert. Doe je dit goed, dan hergebruik je deze code in élk volgend project.
is_adminkolom (boolean) op users. Netter: een rolekolom. Kies er één en leg uit waarom.resources/views/layouts/admin.blade.php) met een zijbalk, los van je publieke layout.php artisan make:controller Admin/PostController --resource --model=Post
php artisan make:middleware EnsureUserIsAdmin
php artisan route:list --path=admin # overzicht van al je adminroutes
// routes/web.php
Route::middleware(['auth', 'admin'])
->prefix('admin')
->name('admin.')
->group(function () {
Route::resource('posts', Admin\PostController::class);
Route::resource('categories', Admin\CategoryController::class);
});
// Een Gate is vaak genoeg en scheelt een middleware
Gate::define('admin', fn (User $user) => $user->is_admin);
// In Blade:
@can('admin') <a href="{{ route('admin.posts.index') }}">Beheer</a> @endcan