All Projects → qcod → Laravel Settings

qcod / Laravel Settings

Licence: mit
Store key value pair in database as settings

Projects that are alternatives of or similar to Laravel Settings

Laravel Eloquent Query Cache
Adding cache on your Laravel Eloquent queries' results is now a breeze.
Stars: ✭ 529 (+394.39%)
Mutual labels:  eloquent, database, laravel
Lada Cache
A Redis based, fully automated and scalable database cache layer for Laravel
Stars: ✭ 424 (+296.26%)
Mutual labels:  eloquent, database, laravel
Laravel Migrate Fresh
An artisan command to build up a database from scratch
Stars: ✭ 179 (+67.29%)
Mutual labels:  eloquent, database, laravel
Laravel Tags
Add tags and taggable behaviour to your Laravel app
Stars: ✭ 1,026 (+858.88%)
Mutual labels:  eloquent, database, laravel
Eloquent Driver
A package that allows you to store Statamic entries in a database.
Stars: ✭ 28 (-73.83%)
Mutual labels:  eloquent, database, laravel
Laravel Translatable
A Laravel package for multilingual models
Stars: ✭ 624 (+483.18%)
Mutual labels:  eloquent, database, laravel
Laravel Database Encryption
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
Stars: ✭ 238 (+122.43%)
Mutual labels:  eloquent, database, laravel
Laravel
Laravel Model Generator
Stars: ✭ 715 (+568.22%)
Mutual labels:  eloquent, database, laravel
Gorose
GoRose(go orm), a mini database ORM for golang, which inspired by the famous php framwork laravle's eloquent. It will be friendly for php developer and python or ruby developer. Currently provides six major database drivers: mysql,sqlite3,postgres,oracle,mssql, Clickhouse.
Stars: ✭ 947 (+785.05%)
Mutual labels:  eloquent, database, laravel
Laravel Optimistic Locking
Adds optimistic locking feature to eloquent models.
Stars: ✭ 71 (-33.64%)
Mutual labels:  eloquent, database, laravel
Ardent
Self-validating, secure and smart models for Laravel's Eloquent ORM
Stars: ✭ 1,412 (+1219.63%)
Mutual labels:  database, laravel
Laravel Lucene Search
Laravel 4.2, 5.* package for full-text search over Eloquent models based on ZF2 Lucene.
Stars: ✭ 75 (-29.91%)
Mutual labels:  eloquent, laravel
Laravel Db Normalizer
Normalize all database results to one unified interface, to make swapping repositories a breeze.
Stars: ✭ 72 (-32.71%)
Mutual labels:  database, laravel
Laravel Ownership
Laravel Ownership simplify management of Eloquent model's owner.
Stars: ✭ 71 (-33.64%)
Mutual labels:  eloquent, laravel
Db Seeder
A database seeder app for MySQL
Stars: ✭ 77 (-28.04%)
Mutual labels:  database, laravel
Laravel Log To Db
Custom Laravel and Lumen 5.6+ Log channel handler that can store log events to SQL or MongoDB databases. Uses Laravel/Monolog native logging functionality.
Stars: ✭ 76 (-28.97%)
Mutual labels:  database, laravel
Laravel Schedulable
Schedule and unschedule eloquent models elegantly without cron jobs
Stars: ✭ 78 (-27.1%)
Mutual labels:  eloquent, laravel
Eloquent Approval
Approval process for Laravel Eloquent models
Stars: ✭ 79 (-26.17%)
Mutual labels:  eloquent, laravel
Laravel Approvable
Easily add an approval process to any laravel model.
Stars: ✭ 79 (-26.17%)
Mutual labels:  eloquent, laravel
Elasticquent
Maps Laravel Eloquent models to Elasticsearch types
Stars: ✭ 1,172 (+995.33%)
Mutual labels:  eloquent, laravel

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' => [
    //...
    "Settings" => 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.

Optionally you can publish migration by running

php artisan vendor:publish --provider="QCod\Settings\SettingsServiceProvider" --tag="migrations"

Getting Started

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

Available methods

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

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

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

// Set a multiple settings
settings()->set([
   'app_name' => 'QCode',
   'app_email' => '[email protected]',
   'app_type' => 'SaaS'
]);

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

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

Groups

From v 1.0.6 You can organize your settings into groups. If you skip the group name it will store settings with default group name.

If you are updating from previous version dont forget to run the migration

You have all above methods available just set you working group by calling ->group('group_name') method and chain on:

settings()->group('team.1')->set('app_name', 'My Team App');
settings()->group('team.1')->get('app_name');
> My Team App

settings()->group('team.2')->set('app_name', 'My Team 2 App');
settings()->group('team.2')->get('app_name');
> My Team 2 App

// You can use facade
\Settings::group('team.1')->get('app_name')
> My Team App

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 [email protected] 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].