dd4you / lgs
Store general settings like website name, logo url, contacts in the database easily. Everything is cached, so no extra query is done
README
Laravel Global Settings
Store general settings like website name, logo url, contacts in the database easily. Everything is cached, so no extra query is done. You can also get fresh values from the database directly if you need.
Installation
Install the package via composer
composer require dd4you/lgs
Setup
php artisan dd4you:install-lgs
Migrate the database
php artisan migrate
I have also added seeder for some general settings a website needs. Seed the database using command:
php artisan db:seed --class=SettingsSeeder
Usage/Examples
To store settings on database
settings()->set(
'key',
['label'=>'Label Name','value'=>'Value Name']
);
You can also set multiple settings at once
settings()->set([
'key1'=>[
'label'=>'Label Name',
'value'=>'Value Name',
'type'=>settings()->fileType()
],
'key2'=>[
'label'=>'Label Name',
'value'=>'Value Name'
],
]);
You can retrieve the settings from cache using any command below
settings('key');
settings()->get('key');
settings()->get(['key1', 'key2']);
Want the settings directly from database? You can do it,
settings('key',true);
settings()->get('key',true);
settings()->get(['key1', 'key2'],true);
Getting all the settings stored on database
settings()->getAll();
You can use the settings on blade as
{{ settings('site_name')['value'] }}
Or, if you have html stored on settings
{!! settings('footer_text')['value'] !!}
{!! settings('footer_text')['value'] Copyright Date('Y') !!}
Finally, If you have changed something directly on database, Don't forget to clear the cache.
php artisan cache:clear
License
Feedback
If you have any feedback, please reach out at vinay@dd4you.in or submit a pull request here.