Download the PHP package camc/lara-settings without Composer
On this page you can find all versions of the php package camc/lara-settings. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download camc/lara-settings
More information about camc/lara-settings
Files in camc/lara-settings
Package lara-settings
Short Description Abstraction for storing Laravel application settings in the database
License MIT
Informations about the package lara-settings
LaraSettings
This Laravel package provides a simple abstraction for storing application settings in the database. It mimics the basic behaviour of the config
helper and Config
facades of core Laravel, but allows the values to be stored in the database where they can be more dynamically managed.
An admin interface, or using tools like Tinkerwell will allow those settings to be updated on any application instance.
Underneath, values are cached to minimise the database hit of retrieving the values.
Dot notation is supported for retrieving values
and a default may be provided to the getter for null values or missing settings:
Testing support
You can fake the facade in a similar way to other Laravel facades:
Installation
composer require camc/lara-settings
Configuration
Configuration currently supports two settings:
model_table
- defines the name of the table to be used by theLaraSetting
model. Defaults tolara_settings_settings
.cache_key
- the key which caches the settings store. Defaults tolara-settings
.
The config file can be published via artisan
:
php artisan vendor:publish --provider=lara-settings-config
Usage
Beyond the examples shown above, seeding settings with initial values may be useful:
By checking if the file exists or not, it's possible to not commit the settings file, and then upload a custom file for any given installation.
Development
Tests
composer test
Linting
composer format
Changelog
Please see CHANGELOG for update history.
Future development
Admin support
The LaraSetting
model has an unused description
attribute which is a placeholder for storing descriptive text about the setting that could be displayed in an admin UI. This field is not intended for dynamic alteration, but an interface should be provided to make the presentation of settings in admin straightforward.
Given the wide variety of ways in which admin could be implemented, it's unlikely that UI will be added to the package, however a command line tool may prove useful.
Model validation
The LaraSetting
accepts a string or an array as values. It might be useful to provide mechanisms to validate the content etc.
License
The MIT License (MIT). Please see License File for more information.