1. Go to this page and download the library: Download gsebastiao/laravel-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/ */
gsebastiao / laravel-settings example snippets
Settings::set('app.name', 'Loja do Zé');
setting('app.name'); // 'Loja do Zé'
use Gsebastiao\LaravelSettings\Facades\Settings;
Settings::set('app.name', 'Loja do Zé');
Settings::get('app.name'); // 'Loja do Zé'
Settings::get('app.slogan', 'Bem-vindo'); // 'Bem-vindo' — não existe, devolve o valor por defeito
// database/seeders/SettingsSeeder.php
public function run(): void
{
Settings::set('app.name', 'Loja do Zé');
Settings::set('app.items_per_page', 20);
}
'app.name' // grupo 'app', nome 'name'
'mail.from_address' // grupo 'mail', nome 'from_address'
'ui.theme' // grupo 'ui', nome 'theme'
Settings::set('ui.font_size', 14); // é um inteiro
Settings::set('ui.font_size', $request->font_size); // '16' → guarda 16, continua inteiro
Settings::set('ui.theme', 'light'); // valor geral
Settings::forUser($ana)->set('ui.theme', 'dark'); // só a Ana
Settings::forUser($ana)->get('ui.theme'); // 'dark'
Settings::forUser($bruno)->get('ui.theme'); // 'light' ← usa o valor geral
use Gsebastiao\LaravelSettings\Facades\Settings;
class PreferencesController extends Controller
{
public function edit(Request $request)
{
$prefs = Settings::forUser($request->user());
return view('preferences', [
'theme' => $prefs->get('ui.theme', 'light'),
'fontSize' => $prefs->get('ui.font_size', 14),
]);
}
public function update(Request $request)
{
$data = $request->validate([
'theme' => '
Settings::set('app.currency', 'MZN');
Settings::lock('app.currency');
Settings::forUser($user)->get('app.currency'); // 'MZN' — mesmo que tenha outro valor
Settings::forUser($user)->set('app.currency', 'USD'); // erro: SettingLockedException
use Gsebastiao\LaravelSettings\Contracts\SettingsRepository;
public function __construct(private SettingsRepository $settings) {}
$this->settings->get('app.name');
use Gsebastiao\LaravelSettings\Services\SettingsInheritance;
Settings::set('ui.theme', 'light', options: ['is_inheritable' => true]);
$inheritance = app(SettingsInheritance::class);
$inheritance->forUser($user); // ['copied' => 1, 'skipped' => 0, 'namespaces' => ['ui']]
$inheritance->forUser($user, tenantId: 5); // copia do tenant 5 (e do geral)
$inheritance->forUser($user, namespaces: ['ui']); // só o grupo 'ui'
$inheritance->preview($user); // mostra o que seria copiado, sem alterar nada
$inheritance->resetUser($user); // apaga os valores do utilizador e copia de novo