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,
];
}
}
Make other controllers extend the Base Controller to inherit its shared properties and logic.