Download the PHP package internetcode/laravel-user-settings without Composer
On this page you can find all versions of the php package internetcode/laravel-user-settings. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download internetcode/laravel-user-settings
More information about internetcode/laravel-user-settings
Files in internetcode/laravel-user-settings
Package laravel-user-settings
Short Description Easy boolean settings per user
License
Informations about the package laravel-user-settings
Laravel user settings
Simple and persistent boolean settings per user.
This package has been developed to help you store simple boolean settings (true/false or yes/no settings) per user.
Features
- Only 1 additional column for multiple settings.
- Settings are stored as binary.
- Can be used on all models.
- Customizable.
- Fast.
Background
Laravel user settings only requires 1 additional column (bigint) per entity. All settings are stored in this column as a binary value. By using the bitwise operators in PHP we are able to store multiple settings in a single column without extra coding/decoding or multiple queries.
Searching for enabled settings is supported by MySQL as can be found here.
Usage
Get a setting
OR
Set a setting
OR
Overriding a list of allowed setting for the entity.
A global list of settings can be found in the user-settings.php
config file, if you want to override these settings per model you can override the following method:
Searching for settings in a query
Set multiple settings at once
Installation
First of all you should require the package using composer:
Afterwards you can add the service provider to your providers array. This is optional since it is already auto discovered by Laravel.
Publish the config and migration files.
Please note that the newly created migration file defaults to a settings
column on the user model. Feel free to change that, or add multiple tables.
On the models where you want to use the settings add the HasSettingsTrait
trait.
Caveats
- Never change the order of the settings in the
setting_fields
array. Every field in here is converted based on the index of the field. Therefore changing the order/index of your setting, will result in invalid settings being true or false.
Bugs / Issues / Ideas
Please create an issue using the issue tracker or drop us an email.
License
MIT © Zander van der Meer