Skip to content

Quick Start

Azizul Hakim edited this page Jun 12, 2025 · 2 revisions

Get up and running with Laravel Setanjo in just a few minutes.

1. Installation

composer require ahs12/laravel-setanjo
php artisan vendor:publish --tag="setanjo-migrations"
php artisan migrate

2. Basic Usage

Global Settings

use Ahs12\Setanjo\Facades\Settings;

// Set application-wide settings
Settings::set('app_name', 'My Laravel App');
Settings::set('maintenance_mode', false);

// Retrieve settings
$appName = Settings::get('app_name');
$maintenance = Settings::get('maintenance_mode', false);

User Settings (Default Mode)

$user = auth()->user();

// Set user preferences
Settings::for($user)->set('theme', 'dark');
Settings::for($user)->set('language', 'en');

// Get user preferences
$theme = Settings::for($user)->get('theme', 'light');
$language = Settings::for($user)->get('language', 'en');

3. Common Patterns

User Dashboard Preferences

$user = auth()->user();
$userSettings = Settings::for($user);

// Save preferences from form
$userSettings
    ->set('dashboard_layout', $request->layout)
    ->set('notifications_email', $request->boolean('email_notifications'))
    ->set('timezone', $request->timezone);

// Load preferences for view
return view('dashboard', [
    'layout' => $userSettings->get('dashboard_layout', 'grid'),
    'emailNotifications' => $userSettings->get('notifications_email', true),
    'timezone' => $userSettings->get('timezone', 'UTC'),
]);

Application Configuration

// Feature flags
Settings::set('registration_enabled', true);
Settings::set('maintenance_mode', false);
Settings::set('api_rate_limit', 1000);

// In your controllers
if (!Settings::get('registration_enabled', true)) {
    abort(403, 'Registration is disabled');
}

4. Next Steps

📚 Documentation Structure

Home

  • Home - Homepage of the wiki

Getting Started

Core Concepts

API Reference

Advanced Usage

  • Commands - Artisan commands for management

Tips

🤝 Community

Clone this wiki locally