Published February 20, 2026

Laravel 11 & Filament v3: The Ultimate Development Guide

Hamza Goudala
2926 Views

Introduction: The PHP Renaissance

Laravel 11 continues the framework's tradition of developer happiness, streamlining the directory structure and introducing powerful new features. Combined with FilamentPHP v3, the TALL-stack powered admin panel builder, you have the ultimate toolkit for rapid application development (RAD) in 2026.

This guide aims to move beyond "Hello World" tutorials. We will explore how to architect a scalable, maintainable application using these two powerhouses, covering everything from project setup to advanced custom resources.

Advertisement

Part 1: What's New in Laravel 11?

Laravel 11 introduced a slimmer skeleton application. The kernel.php files are gone, middleware is defined in bootstrap/app.php, and the config folder is streamlined. This "minimalist" approach reduces visual clutter for new projects.

Simplified Middleware

Previously, you'd register middleware in the Kernel. Now, it's fluent and centralized:

Advertisement

// bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
    $middleware->append(EnsureTokenIsValid::class);
    $middleware->alias([
        'admin' => \App\Http\Middleware\AdminAuth::class,
    ]);
})

Per-Second Rate Limiting

Finally, rate limiting goes granular. Instead of "per minute", you can limit requests per second, crucial for high-traffic APIs.

Part 2: Why Filament v3?

Filament is not just an admin panel; it's a full-stack TALL (Tailwind, Alpine, Laravel, Livewire) development platform. Version 3 brought a modernized UI, "InfoList" components for viewing records, and independent "Panels" support (allowing multiple dashboards like Admin, Vendor, Customer).

Advertisement

Setting Up Filament

Installation is a breeze, but configuration is where the magic happens:


composer require filament/filament:"^3.2" -W
php artisan filament:install --panels
Tip: Always publish your config files if you plan to heavily customize the branding or assets. php artisan vendor:publish --tag=filament-config

Part 3: Building a Resource (The Correct Way)

Let's build a `Product` resource. Don't just generate the basic CRUD. Let's make it robust.

Advertisement

1. Generate the Resource

php artisan make:filament-resource Product --generate

2. Optimizing the Table

In `ProductResource.php`, use efficient columns. Avoid `TextColumn::make('relationship.name')` on huge datasets without eager loading (with()). Filament handles this well, but be mindful.


public static function table(Table $table): Table
{
    return $table
        ->columns([
            Tables\Columns\ImageColumn::make('thumbnail')
                ->circular(),
            Tables\Columns\TextColumn::make('name')
                ->searchable()
                ->sortable(),
            Tables\Columns\TextColumn::make('price')
                ->money('USD')
                ->sortable(),
            Tables\Columns\IconColumn::make('is_active')
                ->boolean(),
        ])
        ->filters([
            Tables\Filters\SelectFilter::make('category')
                ->relationship('category', 'name'),
        ]);
}

Part 4: Custom Pages and Widgets

Sometimes CRUD isn't enough. You need a dashboard widget or a settings page.

Advertisement

For a custom stats widget:

php artisan make:filament-widget ProductStats --chart

This generates a Livewire component that automatically refreshes. You can place it on the Dashboard or specific Resource pages.

Advertisement

Part 5: Advanced Tips for Scale

1. Use Enums

Stop using magic strings for status columns. PHP 8.1+ Enums are fully supported in Filament.


// In your Model
protected $casts = [
    'status' => ProductStatus::class,
];

// In Filament Resource
Select::make('status')
    ->options(ProductStatus::class)

2. Optimize Images

Use the `conversion` method on your file uploads in Filament to generate thumbnails automatically, saving bandwidth on the index view.

Advertisement

Frequently Asked Questions

1. Can I use Filament for the customer-facing frontend?

Yes, but it's designed for "data-dense" interfaces. For a marketing landing page, standard Blade/Livewire is better. For a customer portal (orders, profile), Filament Panels are perfect.

2. Is Laravel 11 a breaking change?

For most apps, no. The upgrade path is smooth. The changes are mostly structural in the skeleton layout. Existing code inside Controllers/Models works largely the same.

Advertisement

3. How do I handle permissions?

Filament integrates seamlessly with `spatie/laravel-permission`. You can use the `filament-spatie-roles-permissions` plugin or implement policies manually. Filament respects Laravel Policies out of the box.

Conclusion

The combination of Laravel 11's refined architecture and Filament v3's rapid UI capabilities makes you unstoppable. You can build complex, secure, and beautiful SaaS applications in a fraction of the time it took 5 years ago. Dive in, experiment, and build something amazing.

Advertisement
H

Written by Hamza Goudala

Creator at Farfosh Blog.

Comments

No comments yet. Be the first to start the discussion!