For Laravel 5.x, check version 2.4.0
For Laravel 4.x, check version 1.7.2
Think of Setter as an easy way to integrate Settings with Laravel, providing a variety of helpers to speed up the utilisation of application wide settings. These include:
Setting::set
Setting::get
Setting::forget
Setting::has
Setting::all
Setting::clear
Setting::expires
Begin by installing this package through Composer. Edit your project's composer.json
file to require cornford/setter
.
"require": {
"cornford/setter": "3.*"
}
Next, update Composer from the Terminal:
composer update
We now have to publish the packages assets with the following command:
php artisan vendor:publish --provider="Cornford\Setter\Providers\SettingServiceProvider" --tag=setting
We now have to migrate the package database table with the following command:
php artisan migrate
Once this operation completes, the next step is to add the service provider. Open config/app.php
, and add a new item to the providers array.
Cornford\Setter\Providers\SettingServiceProvider::class,
The final step is to introduce the facade. Open config/app.php
, and add a new item to the aliases array.
'Setting' => Cornford\Setter\Facades\SettingFacade::class,
That's it! You're all set to go.
You can now configure Setter in a few simple steps. Open config/packages/cornford/setter/config.php
and update the options as needed.
cache
- Enable caching to improve performance by reducing database calls.tag
- A tag prefixed to all cache items, e.g. tag::.expiry
- The default expiry for cache items, e.g. 60.
It's really as simple as using the Setter class in any Controller / Model / File you see fit with:
Setting::
This will give you access to
- Set
- Get
- Forget
- Has
- All
- Clear
- expires
- Uncached
- cacheEnabled
- enableCache
- disableCache
- setCacheTag
- getCacheTag
- cacheHas
- cacheForget
- cacheClear
- CacheExpires
The set
method sets a setting via both a key and a value parameter in the database.
Setting::set('app.url', 'http://localhost');
The get
method gets a setting via a key parameter from the database, and a default value can be optionally passed if the setting doesn't exist.
If no default parameter is supplied, and an application configuration variable is present, this will be returned.
Setting::get('app.url', 'http://localhost');
Setting::get('app.url');
The forget
method removes a setting via a key parameter from the database.
Setting::forget('app.setting');
The has
method returns a true / false based on if a setting is present in the database via a key parameter.
This doesn't fall back to checking application configuration variables.
Setting::has('app.setting');
The all
method returns an array of key value pairs of settings from the database.
This doesn't fall back to return application configuration variables.
Setting::all();
The clear
method removes all settings from the database.
This doesn't fall back to removing application configuration variables.
Setting::clear();
The expires
method sets the cache expiry setting.
Can be false to not cache, true / 0 to cache indefinitely, an integer for minutes, or a datetime of when to expire.
Setting::expires(false);
The uncached
method ensures the next get request is requested from the database rather than the cache. It will also re-cache the item if one is found.
Setting::uncached();
Setting::uncached()->get('app.setting');
The cacheEnabled
method gets the current caching state returning a true / false based on the cache status, retuning the current Setter instance.
Setting::cacheEnabled();
The enableCache
method sets caching state to cache items, retuning the current Setter instance.
Setting::enableCache();
Setting::enableCache()->set('app.url', 'http://localhost');
The disableCache
method sets caching state to not cache items.
Setting::disableCache();
Setting::disableCache()->set('app.url', 'http://localhost');
The setCacheTag
method sets the currently caching prefix tag.
Setting::setCacheTag('tag:');
The getCacheTag
method gets the currently set caching prefix tag.
Setting::getCacheTag();
The cacheHas
method returns a true / false based on if a setting is present in the cache via a key parameter.
This doesn't fall back to checking application configuration variables.
Setting::cacheHas('app.setting');
The cacheForget
method removes a setting via a key parameter from the cache.
Setting::cacheForget('app.setting');
The cacheExpires
method sets the cache expiry setting.
Can be false to not cache, true / 0 to cache indefinitely, an integer for minutes, or a datetime of when to expire.
Setting::cacheExpires(false);
The cacheClear
method removes all settings from the cache.
This doesn't fall back to removing application configuration variables.
Setting::cacheClear();
Setter is open-sourced software licensed under the MIT license