Laravel 12 brings exciting new features and improvements that can significantly enhance your development workflow. In this blog post, I’ll share the top 10 laravel 12 tips and tricks to help you get the most out of Laravel 12 and take your applications to the next level.
1. Take Advantage of Route Groups
Laravel 12 has introduced a more powerful and flexible route grouping system. You can now nest route groups with greater clarity:
Route::prefix('admin')->group(function () { Route::prefix('users')->group(function () { Route::get('/', [UserController::class, 'index']); Route::post('/', [UserController::class, 'store']); }); });
This organization makes your routes more maintainable as your application grows.
2. Leverage the New Query Builder Enhancements
Laravel 12’s query builder includes several performance improvements and new methods:
// New whereJsonContains with multiple values DB::table('users') ->whereJsonContains('options->languages', ['en', 'fr']) ->get(); // New toRawSql() method for debugging $query = DB::table('users')->where('active', 1); // New whereJsonContains with multiple values DB::table('users') ->whereJsonContains('options->languages', ['en', 'fr']) ->get(); // New toRawSql() method for debugging $query = DB::table('users')->where('active', 1); // Returns raw SQL without bindings dd($query->toRawSql());
3. Use Simplified Validation Rules
Laravel 12 makes validation rules even more expressive and concise:
// Before $request->validate([ 'email' => 'required|email|unique:users,email', ]); // Laravel 12 validation $request->validate([ 'email' => ['required', 'email', User::unique('email')], ]);
4. Explore the New Controller Return Types
Controller methods in Laravel 12 now support more return types that automatically convert to appropriate responses:
public function show(User $user): JsonResource { return new UserResource($user); } public function index(): Collection { return User::all(); // Automatically converts to JSON }
5. Utilize Pint for Code Styling
Laravel 12 fully integrates Laravel Pint, a PHP code style fixer:
# Run Pint with default Laravel style php artisan pint # Run Pint with specific config php artisan pint --config=pint.json
6. Master New Blade Directives
Laravel 12 introduces useful Blade directives that streamline your templates:
{{-- New @class directive --}} <div @class(['p-4', 'bg-red' => $hasError])></div> {{-- New @style directive --}} <div @style(['display: block', 'background-color: red' => $isImportant])></div>
7. Implement Parallel Testing
Laravel 12 enhances test performance with improved parallel testing:
# Run tests in parallel with 4 processes php artisan test --parallel=4 # Run specific test groups in parallel php artisan test --parallel --group=feature,unit
This can dramatically reduce your test execution time.
8. Use the New Global Helpers
Laravel 12 introduces several useful global helper functions:
// New str() helper with fluent methods str('Hello World')->after('Hello')->trim()->upper(); // " WORLD" // New to_route() helper return to_route('users.show', $user);
9. Take Advantage of Laravel Pennant for Feature Flags
Laravel 12 integrates well with Pennant for managing feature flags:
// Check if feature is active if (Feature::active('new-dashboard')) { return view('dashboard.new'); } // Feature active for specific users Feature::for($user)->active('beta-feature');
This makes A/B testing and gradual feature rollouts much easier.
10. Explore the Enhanced Artisan Commands
# Generate model with all related files php artisan make:model Product --all # Inspect routes with improved details php artisan route:list --except-vendor
Conclusion
Laravel 12 continues the framework’s tradition of developer-friendly improvements and powerful features. By implementing these tips and tricks, you can write cleaner, more maintainable code and build better applications faster.
Whether you’re building a new application or upgrading an existing one, these Laravel 12 features will help you maximize your productivity and take full advantage of this excellent framework.
If you want to continue with us and make your dream website, then contact us