Global options loaded from the database

5.7.0 2023-07-07 13:42 UTC


Latest Version on Packagist Total Downloads Software License Build Status

Global key-value store in the database


To get started with laravel-options, use Composer to add the package to your project's dependencies:

composer require appstract/laravel-options

Publish, migrate

By running php artisan vendor:publish --provider="Appstract\Options\OptionsServiceProvider" in your project all files for this package will be published. For this package, it's only a migration. Run php artisan migrate to migrate the table. There will now be an options table in your database.


With the option() helper, we can get and set options:

// Get option

// Get option, with a default fallback value if the key doesn't exist
option('someKey', 'Some default value if the key is not found');

// Set option
option(['someKey' => 'someValue']);

// Remove option

// Check the option exists

If you want to check if an option exists, you can use the facade:

use Option;

$check = Option::exists('someKey');

The helpers are available as Blade directives:


@option('someKey', 'Default value')

    // Code


It is also possible to set options within the console:

php artisan option:set {someKey} {someValue}


$ composer test


Contributions are welcome, thanks to y'all :)

About Appstract

Appstract is a small team from The Netherlands. We create (open source) tools for webdevelopment and write about related subjects on Medium. You can follow us on Twitter, buy us a beer or support us on Patreon.


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