Persistent settings package for Laravel framework.
heimabailang/laravel-settings is a Laravel package for persistent settings package for laravel framework..
It currently has 0 GitHub stars and 9 downloads on Packagist (latest version v2.2.4).
Install it with composer require heimabailang/laravel-settings.
Discover more Laravel packages by heimabailang
or browse all Laravel packages to compare alternatives.
Last updated
laravel 系统设置扩展.
| Laravel Version | Package version | | --------------------- | ------------------------ | | 5.5, 5.6 , 5.7 | 1.0.* | | 5.8 | 1.2.* , 1.3.* | | 6.x, 7.x | 2.* |
$ composer require hongyukeji/laravel-settings
php artisan vendor:publish --provider="Hongyukeji\LaravelSettings\Providers\SettingsServiceProvider"
php artisan settings:table
php artisan migrate
Package is looking for maintainers Please contact me if interested.**
Persistent settings package for Laravel 5.
Require this package in your composer.json:
"require": {
"edvinaskrucas/settings": "2.0.0"
}
| Laravel Version | Package version | | --------------------- | ------------------------ | | >=5.0, <=5.1 | >= 1.0.0, <= 2.0.0 | | 5.2 | >= 2.0.0 |
Add following lines to app/config/app.php
ServiceProvider array
Hongyukeji\LaravelSettings\Providers\SettingsServiceProvider::class,
Alias array
'Settings' => Hongyukeji\LaravelSettings\Facades\Settings::class
If you want to edit default config file, just publish it to your app folder.
php artisan vendor:publish --provider="Hongyukeji\LaravelSettings\Providers\SettingsServiceProvider" --tag="config"
Package comes with several configuration options.
| Setting | Description |
| --- | --- |
| default | Setting repository driver. |
| cache | Enable or disable setting cache. |
| encryption | Enable or disable setting value encryption. |
| events | Enable or disable event firing. |
| repositories | Config of all repositories which can be used. |
| key_generator | Key generator class. |
| context_serializer | Context serializer class. |
| value_serializer | Value serializer class. |
| override | Allows you to override values in Laravel config array. |
To use database driver you have to create table in your database. Package provides default table migration, to create it you need to execute artisan command:
$ php artisan settings:table
Set setting value.
Settings::set($key, $value = null);
Get setting value, default value is returned when no value found.
Settings::get($key, $default = null);
Determine if setting exists.
Settings::has($key);
Forget setting value from repository.
Settings::forget($key);
Setting values may be used in certain context. Context can be set using method context().
Settings::context(new Context(['user' => 1]));
Context is reset after call of one these methods set, get, has, forget.
Example how to use settings for different contexts.
$userContext1 = new Context(['user' => 1]);
$userContext2 = new Context(['user' => 2]);
Settings::context($userContext1)->set('key', 'value1');
Settings::context($userContext2)->set('key', 'value2');
// retrieve settings
$userValue1 = Settings::context($userContext1)->get('key'); // value1
$userValue2 = Settings::context($userContext2)->get('key'); // value2
Resolve settings service instance.
settings();
Set setting value.
settings([$key => $value]);
Set setting value for a context.
settings([$key => $value], new Context(['user' => 1]));
Get setting value, default value is returned when no value found.
settings($key, $default = null);
Getting value for a context.
settings($key, $default, new Context(['user' => 1]));
Events gets fired if this is not disabled via config (enabled by default).
Fired before checking if value is present in repository.
| Parameter | Type | Parameter description | | --- | --- | --- | | $key | string | Setting key. | | $context | null or Context | Setting context. |
Fired after checking if value is present in repository.
| Parameter | Type | Parameter description |
| --- | --- | --- |
| $key | string | Setting key. |
| $status | bool | If setting exists true is passed, otherwise false |
| $context | null or Context | Setting context. |
Fired before retrieving value from repository.
| Parameter | Type | Parameter description | | --- | --- | --- | | $key | string | Setting key. | | $default | mixed | Default setting value. | | $context | null or Context | Setting context. |
Fired after retrieving value from repository.
| Parameter | Type | Parameter description | | --- | --- | --- | | $key | string | Setting key. | | $value | mixed | Retrieved setting value. | | $default | mixed | Default setting value. | | $context | null or Context | Setting context. |
Fired before setting value to repository.
| Parameter | Type | Parameter description | | --- | --- | --- | | $key | string | Setting key. | | $value | mixed | Setting value to be set. | | $context | null or Context | Setting context. |
Fired after setting value to repository.
| Parameter | Type | Parameter description | | --- | --- | --- | | $key | string | Setting key. | | $value | mixed | Setting value to be set. | | $context | null or Context | Setting context. |
Fired before forgetting value.
| Parameter | Type | Parameter description | | --- | --- | --- | | $key | string | Setting key. | | $context | null or Context | Setting context. |
Fired after forgetting value.
| Parameter | Type | Parameter description | | --- | --- | --- | | $key | string | Setting key. | | $context | null or Context | Setting context. |