Skip to content

qcod/laravel-settings

Repository files navigation

Laravel Settings

Latest Version on Packagist Software License Build Status StyleCI Total Downloads

Use qcod/laravel-settings to store key value pair settings in the database.

All the settings saved in db is cached to improve performance by reducing sql query to zero.

Installation

1 - You can install the package via composer:

$ composer require qcod/laravel-settings

2 - If you are installing on Laravel 5.4 or lower you will be needed to manually register Service Provider by adding it in config/app.php providers array and Facade in aliases arrays.

'providers' => [
    //...
    QCod\Settings\SettingsServiceProvider::class
]

'aliases' => [
    //...
    "Setting" => QCod\Settings\Facade::class
]

In Laravel 5.5 or above the service provider automatically get registered and a facade Setting::get('app_name') will be available.

3 - Now run the migration by php artisan migrate to create the settings table.

Getting Started

You can use helper function setting('app_name') or Setting::get('app_name') to use laravel settings.

Available methods

// Pass `true` to ignore cached settings
setting()->all($fresh = false);

// Get a single setting
setting()->get($key, $defautl = null);

// Set a single setting
setting()->set($key, $value);

// Set a multiple settings
setting()->set([
   'app_name' => 'QCode',
   'app_email' => 'info@email.com',
   'app_type' => 'SaaS'
]);

// check for setting key
setting()->has($key);

// remove a setting
setting()->remove($key);

Changelog

Please see CHANGELOG for more information on what has changed recently.

Testing

The package contains some integration/smoke tests, set up with Orchestra. The tests can be run via phpunit.

$ composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email saquibweb@gmail.com instead of using the issue tracker.

Credits

About QCode.in

QCode.in (https://www.qcode.in) is blog by Saqueib which covers All about Full Stack Web Development.

License

The MIT License (MIT). Please see License File for more information.