DeveloperBreeze

Laravel Programming Tutorials, Guides & Best Practices

Explore 51+ expertly crafted laravel tutorials, components, and code examples. Stay productive and build faster with proven implementation strategies and design patterns from DeveloperBreeze.

Building a Base Controller for Reusable Data Access in Laravel

Tutorial November 16, 2024
php

Add shared functionality to the Base Controller. For example:

   namespace App\Http\Controllers;

   use Illuminate\Support\Facades\Auth;

   class BaseController extends Controller
   {
       protected $userRole;
       protected $featureToggles;
       protected $appConfig;

       public function __construct()
       {
           // Set the current user's role
           $this->userRole = Auth::check() ? Auth::user()->role : 'guest';

           // Define feature toggles
           $this->featureToggles = [
               'file_uploads_enabled' => true,
               'comments_enabled' => false,
           ];

           // Set app-wide configurations
           $this->appConfig = [
               'app_mode' => 'live', // Options: 'maintenance', 'live'
               'max_api_requests' => 100,
           ];
       }
   }