PHP code example of laravel-settings / settings

1. Go to this page and download the library: Download laravel-settings/settings library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

laravel-settings / settings example snippets


'driver' => env('SETTINGS_DRIVER', 'database'),

setting('website')->save([
    'name'  => 'My Website',
    'email' => '[email protected]',
]);

echo setting('website')->name;   // My Website
echo setting('website')->email;  // [email protected]

setting('website')->create(['name' => 'My Website']);

setting('website')->update('name', 'New Name');

echo setting('website')->name; // New Name

setting('website')->delete();

setting('website')->name; // null

setting('access')->save([
    'roles' => [
        'owner' => [
            'title' => 'Administrator',
            'users' => ['create', 'update'],
        ],
    ],
]);

// Access nested values as objects
echo setting('access')->roles->owner->title; // Administrator

// Update a deeply nested value using dot notation
setting('access')->update('roles.owner.title', 'Super Admin');

echo setting('access')->roles->owner->title; // Super Admin

// Update a nested array
setting('access')->update('roles.owner.users', ['show', 'edit']);

setting('access')->roles->owner->users->toArray(); // ['show', 'edit']

setting('items')->save([
    ['title' => 'C Title', 'price' => 30],
    ['title' => 'A Title', 'price' => 10],
    ['title' => 'B Title', 'price' => 20],
]);

// Get the first and last item
setting('items')->first()->title; // C Title
setting('items')->last()->title;  // B Title

// Iterate over items
setting('items')->each(function ($item, $index) {
    echo $item->title;
});

// Get all as array
setting('items')->get();
setting('items')->toArray();

setting('items')->sort('title', 'asc');
setting('items')->toArray();
// titles: ['A Title', 'B Title', 'C Title']

setting('items')->sort('title', 'desc');
setting('items')->toArray();
// titles: ['C Title', 'B Title', 'A Title']

setting('schedule')->save([
    ['room_id' => 1, 'day' => 'Monday',  'time' => '09:00'],
    ['room_id' => 2, 'day' => 'Monday',  'time' => '09:00'],
    ['room_id' => 1, 'day' => 'Tuesday', 'time' => '10:00'],
    ['room_id' => 2, 'day' => 'Tuesday', 'time' => '11:00'],
]);

$groups = setting('schedule')->groupBy('room_id');

count($groups[1]); // 2  (Monday + Tuesday for room 1)
count($groups[2]); // 2  (Monday + Tuesday for room 2)

setting('staff')->save([
    'roles' => [
        'owner_one'   => ['admin' => 'Ahmed', 'title' => 'Title One'],
        'owner_two'   => ['admin' => 'Ali',   'title' => 'Title Two'],
        'owner_three' => ['admin' => 'Ahmed', 'title' => 'Title Three'],
    ],
]);

$result = setting('staff')->where('admin', 'Ahmed');

// Returns only items where admin === 'Ahmed'
// { owner_one: {...}, owner_three: {...} }

echo $result->owner_one->title;   // Title One
echo $result->owner_three->title; // Title Three

setting('roles')->save([
    'roles' => [
        'owner_one'   => ['title' => 'Title One',   'des' => 'des one'],
        'owner_two'   => ['title' => 'Title Two',   'des' => 'des two'],
        'owner_three' => ['title' => 'Title Three', 'des' => 'des three'],
        'editor'      => ['title' => 'Editor',      'des' => 'can edit'],
    ],
]);

$result = setting('roles')->search('owner');

// Returns all keys that contain 'owner'
// { owner_one: {...}, owner_two: {...}, owner_three: {...} }

echo $result->owner_two->title; // Title Two

setting('website')->save([
    'name'  => ['ar' => 'اسم الموقع', 'en' => 'Website Name'],
    'email' => ['ar' => 'البريد',     'en' => 'Email'],
]);

// Access a specific locale directly
echo setting('website')->name; // اسم الموقع
echo setting('website')->name; // Website Name

setting('website', 'ar')->first()->name; // اسم الموقع
setting('website', 'en')->first()->name; // Website Name

setting('items')->save([
    [
        'name'  => ['ar' => 'مرحبا', 'en' => 'Hello'],
        'email' => ['ar' => 'البريد', 'en' => 'Email'],
    ],
]);

$firstAr = setting('items', 'ar')->first();
echo $firstAr->name; // مرحبا

$firstEn = setting('items', 'en')->first();
echo $firstEn->name; // Hello

// Store uploaded file and save its path
$path = $request->file('logo')->store('website', 'public');

setting('website')->save(['logo_path' => $path]);

// Retrieve the stored path
echo setting('website')->logo_path; // website/logo.png
bash
php artisan vendor:publish --provider="LaravelSettings\Settings\Providers\SettingsServiceProvider" --tag="settings-migrations"
bash
php artisan vendor:publish --provider="LaravelSettings\Settings\Providers\SettingsServiceProvider" --tag="settings-config"
bash
php artisan migrate