cornford / setter
An easy way to integrate Database Settings with Laravel.
Installs: 1 044
Dependents: 0
Suggesters: 0
Security: 0
Stars: 13
Watchers: 3
Forks: 4
Open Issues: 2
Requires
- php: >=7.2
- ext-json: *
- illuminate/cache: ^6.0
- illuminate/config: ^6.0
- illuminate/database: ^6.0
- illuminate/support: ^6.0
Requires (Dev)
- mockery/mockery: ^1.2.4
- phpspec/phpspec: ^6.0
- phpunit/phpunit: ^8.4
- dev-master
- v3.0.0
- v2.4.1.x-dev
- v2.4.1
- v2.4.0
- v2.3.2.x-dev
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.1.x-dev
- v2.2.1
- v2.2.0
- v2.1.3.x-dev
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- v1.7.2.x-dev
- v1.7.2
- v1.7.1.x-dev
- v1.7.1
- v1.7.0.x-dev
- v1.7.0
- v1.6.1.x-dev
- v1.6.1
- v1.6.0.x-dev
- v1.6.0
- v1.5.8.x-dev
- v1.5.8
- v1.5.7.x-dev
- v1.5.7
- v1.5.6.x-dev
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.0.1
- v1.0.0
- dev-develop
This package is auto-updated.
Last update: 2024-11-04 19:19:40 UTC
README
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
Installation
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.
Configuration
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.
Usage
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
Set
The set
method sets a setting via both a key and a value parameter in the database.
Setting::set('app.url', 'http://localhost');
Get
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');
Forget
The forget
method removes a setting via a key parameter from the database.
Setting::forget('app.setting');
Has
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');
All
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();
Clear
The clear
method removes all settings from the database.
This doesn't fall back to removing application configuration variables.
Setting::clear();
Expires
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);
Uncached
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');
Cache Enabled
The cacheEnabled
method gets the current caching state returning a true / false based on the cache status, retuning the current Setter instance.
Setting::cacheEnabled();
Enable Cache
The enableCache
method sets caching state to cache items, retuning the current Setter instance.
Setting::enableCache();
Setting::enableCache()->set('app.url', 'http://localhost');
Disable Cache
The disableCache
method sets caching state to not cache items.
Setting::disableCache();
Setting::disableCache()->set('app.url', 'http://localhost');
Set Cache Tag
The setCacheTag
method sets the currently caching prefix tag.
Setting::setCacheTag('tag:');
Get Cache Tag
The getCacheTag
method gets the currently set caching prefix tag.
Setting::getCacheTag();
Cache Has
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');
Cache Forget
The cacheForget
method removes a setting via a key parameter from the cache.
Setting::cacheForget('app.setting');
Cache Expires
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);
Cache Clear
The cacheClear
method removes all settings from the cache.
This doesn't fall back to removing application configuration variables.
Setting::cacheClear();
License
Setter is open-sourced software licensed under the MIT license