PHPackages                             pkaratanev/nova-settings-tool - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. pkaratanev/nova-settings-tool

ActiveLibrary

pkaratanev/nova-settings-tool
=============================

A Laravel Nova Tool to let users manage global settings created from code.

v2.0.0(5y ago)114.3k2MITPHPPHP &gt;=7.1.0

Since Dec 23Pushed 5y agoCompare

[ Source](https://github.com/pkaratanev/nova-settings-tool)[ Packagist](https://packagist.org/packages/pkaratanev/nova-settings-tool)[ RSS](/packages/pkaratanev-nova-settings-tool/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (7)Used By (0)

NovaSettingsTool
================

[](#novasettingstool)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4addc92fc162a2b08f7857265855b00bf7e1bfc755d24c38b3da4eafa48852a6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)[![Latest Stable Version](https://camo.githubusercontent.com/3f8ea3d15709107b5a3d51dde675ad910a1a294902546d28caf87ca99c31eece/68747470733a2f2f706f7365722e707567782e6f72672f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2f762f737461626c653f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)[![Latest Unstable Version](https://camo.githubusercontent.com/3bb53a845d193450531ab6b8df8cac7090e304b1ec0ef5520e4069a2c2776adb/68747470733a2f2f706f7365722e707567782e6f72672f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2f762f756e737461626c653f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)[![Total Downloads](https://camo.githubusercontent.com/b5c1520b13712d1674c7a9e6fcda63dd1d22858e0d4615f95fabcf6c71e84f07/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)[![License](https://camo.githubusercontent.com/97d6990f0da10c82e2c1cea06e8ade49f77bc4c9b1dc1d41bac99878042053e3/68747470733a2f2f706f7365722e707567782e6f72672f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2f6c6963656e73653f7374796c653d666c61742d7371756172653f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)[![Monthly Downloads](https://camo.githubusercontent.com/8fcb06aca8dd773629682857c50c9a7623dbaf031b79c5894d11c2921dcd9592/68747470733a2f2f706f7365722e707567782e6f72672f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2f642f6d6f6e74686c793f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)[![Daily Downloads](https://camo.githubusercontent.com/a64d43847f02db19d9ed219eb02f97d35dcda21f88dd3a3167d5914dfc5a0f15/68747470733a2f2f706f7365722e707567782e6f72672f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2f642f6461696c793f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)[![composer.lock](https://camo.githubusercontent.com/0af82042264ad0854db812d212d2a7ce8d71cc09b78d0334420da69bce89f0da/68747470733a2f2f706f7365722e707567782e6f72672f506b61726174616e65762f6e6f76612d73657474696e67732d746f6f6c2f636f6d706f7365726c6f636b3f7374796c653d666c61742d737175617265)](https://packagist.org/packages/Pkaratanev/nova-settings-tool)

A Laravel Nova Tool to let users manage global settings created from code. This package works only in combination with Laravel Nova.

[![NovaSettingsTool](./screenshots/screenshot_2.png?raw=true "NovaSettingsTool")](./screenshots/screenshot_2.png?raw=true)

Table of Contents
-----------------

[](#table-of-contents)

- **[Installation](#installation)**
    - [Install Package](#install-package)
    - [Run Migrate](#run-migrate)
    - [Publish Config &amp; Translations](#publish-config--translations)
- **[Usage](#usage)**
    - [Register Tool](#register-tool)
    - [Create Listener](#create-listener)
    - [Register Listener](#register-listener)
    - [Define Setting](#define-settings)
- **[Object Methods](#object-methods)**
    - [`SettingRegister`](#settingregister)
    - [`SettingGroup`](#settinggroup)
    - [`SettingItem`](#settingitem)
- **[Helper Methods](#helper-methods)**
- **[`SettingType` Representation](#settingtype-representation)**
- **[Config Options](#config-options)**
- **[Translation Options](#translation-options)**
- **[`SettingItem` Options](#settingitem-options)**
- **[Tested Fields](#tested-fields)**
- **[Screenshots](#screenshots)**
- **[License](#license)**

Installation
------------

[](#installation)

Install `NovaSettingsTool` by following the steps below.

### Install Package

[](#install-package)

Install this package through composer using the following command:

```
composer require Pkaratanev/nova-settings-tool
```

### Run Migrate

[](#run-migrate)

This package uses a database table to store the setting values. Run the migrate command to create the table in the databasem, using the following command:

```
php artisan migrate
```

### Publish Config &amp; Translations

[](#publish-config--translations)

This packages comes with a config file with options and translations. In order to change them, publish these config and translation files using the following command:

```
php artisan vendor:publish --tag="settings"
```

Usage
-----

[](#usage)

### Register Tool

[](#register-tool)

Register the tool with Nova. Add the tool to the `tools()` method of the `App\NovaServiceProvider`, as shown below:

```
use Pkaratanev\NovaSettingsTool\NovaSettingsTool;

// ...

public function tools()
{
    return [
        // ...
        new NovaSettingsTool(),
        // ...
    ];
}
```

### Create Listener

[](#create-listener)

Create a listener class where the settings tool will request for groups and items. A listener class can be placed in for example *App/Handlers* and can be named for example *SettingsRegisteringListener.php*. The `handle()` method is used to define the setting groups and setting items, it can be used as shown below:

```
use Pkaratanev\NovaSettingsTool\Enums\SettingType;
use Pkaratanev\NovaSettingsTool\Events\SettingsRegistering;
use Pkaratanev\NovaSettingsTool\ValueObjects\SettingGroup;
use Pkaratanev\NovaSettingsTool\ValueObjects\SettingItem;

// ...

class SettingsRegisteringListener
{
    // ...
    public function handle(SettingsRegistering $event)
    {
        // ...
    }
    // ...
}
```

### Register Listener

[](#register-listener)

Register the listener with Nova. Add the `SettingsRegistering` event containing the listener class(es) to the `$listen` array of the `App\EventServiceProvider`, as shown below:

```
use Pkaratanev\NovaSettingsTool\Events\SettingsRegistering;
use App\Handlers\SettingsRegisteringListener;

// ...

protected $listen = [
    // ...
    SettingsRegistering::class => [
        SettingsRegisteringListener::class
    ]
    // ...
];
```

### Create Updated Values Listener

[](#create-updated-values-listener)

Create a listener class where you can watch for updated values and do something if they changed

```
use Pkaratanev\NovaSettingsTool\Events\SettingsUpdated;

// ...

class SettingsRegisteringListener
{
    // ...
    public function handle(SettingsUpdated $event)
    {
        // ...
    }
    // ...
}
```

### Register Updated Listener

[](#register-updated-listener)

```
use Pkaratanev\NovaSettingsTool\Events\SettingsUpdated;
use App\Handlers\SettingsUpdatedListener;

// ...

protected $listen = [
    // ...
    SettingsUpdated::class => [
        SettingsUpdatedListener::class
    ]
    // ...
];
```

### Define Settings

[](#define-settings)

Define the settings in the `handle()` method in the listener, or in that method in another listener that listens to the `SettingsRegistering` event. Shown below is an example of how to define settings:

```
public function handle(SettingsRegistering $event)
{
    $event->settingRegister
        ->group('general', function(SettingGroup $group) {
            $group->name('General')
                ->icon('fa fa-cog')
                ->item('title', function (SettingItem $item) {
                    $item->name('Website Title');
                })
                ->item('description', function (SettingItem $item) {
                    $item->type(SettingType::TEXTAREA);
                });
        })
        ->group('privacy', function(SettingGroup $group) {
            $group
                ->name('Privacy')
                ->icon('fa fa-user-secret')
                ->item('log', function (SettingItem $item) {
                    $item->name('Log User Activity')
                        ->field(Boolean::make('log')->help(
                            'When enabled, user activity will be logged.'
                        ));
                });
        });
}
```

Object Methods
--------------

[](#object-methods)

### `SettingRegister`

[](#settingregister)

#### `group(string $key, Closure $callback = null)`

[](#groupstring-key-closure-callback--null)

Create a new `SettingGroup` or call an existing `SettingGroup` (with the same key) and add it to the `SettingRegister`.

##### Param `string $key`

[](#param-string-key)

The self-defined (or existing where to append to) key of the `SettingGroup` (normally snake cased).

##### Param `Closure $callback`

[](#param-closure-callback)

The method where the `SettingGroup` can be configured and where items can be defined. The created `SettingGroup` will be passed as parameter. The default value is null.

##### Returns `SettingRegister`

[](#returns-settingregister)

The current `SettingRegister` object (`$this`).

#### `getGroups()`

[](#getgroups)

Obtain a `Collection` of all registered `SettingGroup` objects from the `SettingRegister` object.

##### Returns `\Illuminate\Support\Collection`

[](#returns-illuminatesupportcollection)

The collection of `SettingGroup` objects registered with the `SettingRegister`.

#### `getGroup(string $key)`

[](#getgroupstring-key)

Obtain a `SettingGroup` from the `SettingRegister` by it's key. When the `SettingGroup` is not found, it will be created automatically.

##### Param `string $key`

[](#param-string-key-1)

The key of the `SettingGroup`.

##### Returns `SettingGroup`

[](#returns-settinggroup)

The requested or newly created `SettingGroup`.

### `SettingGroup`

[](#settinggroup)

#### `key(string $key)`

[](#keystring-key)

Set the key of the `SettingGroup`. This is optional because the group gets it's key from the `group()` method in the `SettingRegister` class.

##### Param `string $key`

[](#param-string-key-2)

The self-defined key of the `SettingGroup` (normally snake cased).

##### Returns `SettingGroup`

[](#returns-settinggroup-1)

The current `SettingGroup` object (`$this`).

#### `name(string $name)`

[](#namestring-name)

Set the name of the `SettingGroup`.

##### Param `string $name`

[](#param-string-name)

The displayed tab header of the `SettingGroup`.

##### Returns `SettingGroup`

[](#returns-settinggroup-2)

The current `SettingGroup` object (`$this`).

#### `icon(string $icon)`

[](#iconstring-icon)

Set the icon of the `SettingGroup`. Icons are only shown when `show_icons` is set to `true` in the config file.

##### Param `string $icon`

[](#param-string-icon)

The FontAwesome 5 icon class (for example: `fa fa-cog`) of the icon that needs to be displayed in the `SettingGroup` tab header.

##### Returns `SettingGroup`

[](#returns-settinggroup-3)

The current `SettingGroup` object (`$this`).

#### `priority(int $priority)`

[](#priorityint-priority)

Set the priority of the `SettingGroup`. When not set, the `SettingGroup` tabs will be sorted based on the creation order.

##### Param `int $priority`

[](#param-int-priority)

The priority of the `SettingGroup`.

##### Returns `SettingGroup`

[](#returns-settinggroup-4)

The current `SettingGroup` object (`$this`).

#### `item(string $key, Closure $callback = null)`

[](#itemstring-key-closure-callback--null)

Create a new SettingItem and add it to the `SettingGroup`.

##### Param `string $key`

[](#param-string-key-3)

The self-defined key of the `SettingItem` (normally snake cased).

##### Param `Closure $callback`

[](#param-closure-callback-1)

The method where the `SettingItem` can be configured. The created `SettingItem` will be passed as parameter. The default value is null.

#### `getItems()`

[](#getitems)

Obtain a `Collection` of all registered `SettingItem` objects from the `SettingGroup` object.

##### Returns `\Illuminate\Support\Collection`

[](#returns-illuminatesupportcollection-1)

The collection of `SettingItem` objects registered with the `SettingGroup`.

#### `getItem(string $key)`

[](#getitemstring-key)

Obtain a `SettingItem` from the `SettingGroup` by it's key. When the `SettingItem` is not found, it will be created automatically.

##### Param `string $key`

[](#param-string-key-4)

The key of the `SettingItem`.

##### Returns `SettingGroup`

[](#returns-settinggroup-5)

The requested or newly created `SettingItem`.

#### `getKey()`

[](#getkey)

Get the key from the `SettingGroup`.

##### Returns `string`

[](#returns-string)

The key of the `SettingGroup`.

#### `getName()`

[](#getname)

Get the name from the `SettingGroup`.

##### Returns `string`

[](#returns-string-1)

The key of the `SettingGroup`.

#### `getIcon()`

[](#geticon)

Get the icon from the `SettingGroup`.

##### Returns `string`

[](#returns-string-2)

The key of the `SettingGroup`.

#### `getPriority()`

[](#getpriority)

Get the priority from the `SettingGroup`.

##### Returns `int`

[](#returns-int)

The key of the `SettingGroup`.

#### `hasItems()`

[](#hasitems)

Check if the `SettingGroup` contains one or more `SettingItem` objects.

##### Returns `bool`

[](#returns-bool)

Indicated if the `SettingGroup` has any `SettingItem` objects.

### `SettingItem`

[](#settingitem)

#### `key(string $key)`

[](#keystring-key-1)

Set the key of the `SettingItem`. This is optional because the item gets it's key from the `item()` method in the `SettingGroup` class.

##### Param `string $key`

[](#param-string-key-5)

The self-defined key of the `SettingItem` (normally snake cased).

##### Returns `SettingItem`

[](#returns-settingitem)

The current `SettingItem` object (`$this`).

#### `name(string $name)`

[](#namestring-name-1)

Set the name of the `SettingItem`.

##### Param `string $name`

[](#param-string-name-1)

The displayed title of the `SettingItem`.

##### Returns `SettingItem`

[](#returns-settingitem-1)

The current `SettingItem` object (`$this`).

#### `priority(int $priority)`

[](#priorityint-priority-1)

Set the priority of the `SettingItem`. When not set, the `SettingItem` rows will be sorted based on the creation order.

##### Param `int $priority`

[](#param-int-priority-1)

The priority of the `SettingItem`.

##### Returns `SettingItem`

[](#returns-settingitem-2)

The current `SettingItem` object (`$this`).

#### `options(array $options)`

[](#optionsarray-options)

Set additional option to the `SettingItem`. The options array needs to be a `Key => Value` array. See the **[`SettingItem` Options](#settingitem-options)** for supported options.

##### Param `string $options`

[](#param-string-options)

The `Key => Value` array containing the preferred options.

##### Returns `SettingItem`

[](#returns-settingitem-3)

The current `SettingItem` object (`$this`).

#### `type(string $type)`

[](#typestring-type)

Set the `SettingType` of the `SettingItem`. Only values from the `SettingType` enumeration are supported. This is optional when a `Field` is set using the `field()` method.

##### Param `string $type`

[](#param-string-type)

The value of a `SettingType` constant.

##### Returns `SettingItem`

[](#returns-settingitem-4)

The current `SettingItem` object (`$this`).

#### `field(\Laravel\Nova\Fields\Field $field)`

[](#fieldlaravelnovafieldsfield-field)

Make a new `Field` instance and add it to the `SettingItem`. Check which `Field` classes proved to be working in the **[Tested Fields](#tested-fields)** section.

##### Param `\Laravel\Nova\Fields\Field $field`

[](#param-laravelnovafieldsfield-field)

The `Field` for the current `SettingItem`.

#### `value($value)`

[](#valuevalue)

Set a value programmatically. Normally this should be handled by the Tool based on user input.

##### Param `$value`

[](#param-value)

The value for a `SettingItem`.

##### Returns `SettingItem`

[](#returns-settingitem-5)

The current `SettingItem` object (`$this`).

#### `getKey()`

[](#getkey-1)

Get the key from the `SettingItem`.

##### Returns `string`

[](#returns-string-3)

The key of the `SettingItem`.

#### `getName()`

[](#getname-1)

Get the name from the `SettingItem`.

##### Returns `string`

[](#returns-string-4)

The key of the `SettingItem`.

#### `getPriority()`

[](#getpriority-1)

Get the priority from the `SettingItem`.

##### Returns `int`

[](#returns-int-1)

The key of the `SettingItem`.

#### `getOptions()`

[](#getoptions)

Get the options from the `SettingItem`.

##### Returns `array`

[](#returns-array)

The options of the `SettingItem`.

#### `getType()`

[](#gettype)

Get the type from the `SettingItem`.

##### Returns `string`

[](#returns-string-5)

The type of the `SettingItem`.

#### `getField()`

[](#getfield)

Get the `Field` from the `SettingItem`.

##### Returns `\Laravel\Nova\Fields\Field`

[](#returns-laravelnovafieldsfield)

The `Field` of the `SettingItem`.

#### `getValue()`

[](#getvalue)

Get the value from the `SettingItem`. It checks if the value is already obtained from the database, else it checks the database and when there is no value, it will return the default value (set through the `options()` method). When then there is still no value, it will return `null`.

##### Returns `mixed`

[](#returns-mixed)

The value of the `SettingItem`.

Helper Methods
--------------

[](#helper-methods)

#### `settings()`

[](#settings)

Get the `SettingRegister` instance from the App Container. This method returns null if the `SettingRegister` is not initialized by the ServiceProvider.

##### Returns `SettingRegister|null`

[](#returns-settingregisternull)

The `SettingRegister` instance from the App Container or `null` when not initialized.

#### `setting(string $key)`

[](#settingstring-key)

Get a `SettingItem` instance from the the SettingRegister in the App Container using the key of the `SettingItem`. This method returns null if the `SettingRegister` is not initialized by the ServiceProvider or the `SettingItem` does not exist.

##### Param `string $key`

[](#param-string-key-6)

The key of the `SettingItem`.

##### Returns `mixed`

[](#returns-mixed-1)

The `SettingItem` instance request for or null if not found.

#### `settingValue(string $key)`

[](#settingvaluestring-key)

Get the value of a `SettingItem` instance from the the SettingRegister in the App Container using the key of the `SettingItem`. This method returns null if the SettingRegister is not initialized by the ServiceProvider, the `SettingItem` does not exist or if there is no value set.

##### Param `string $key`

[](#param-string-key-7)

The key of the `SettingItem`.

##### Returns `mixed`

[](#returns-mixed-2)

The value of the `SettingItem` instance request for or null if not found.

`SettingType` Representation
----------------------------

[](#settingtype-representation)

`SettingType` constantValueRepresents Nova Field`TEXT`*text*`\Laravel\Nova\Fields\Text``BOOLEAN`*boolean*`\Laravel\Nova\Fields\Boolean``NUMBER`*number*`\Laravel\Nova\Fields\Number``TEXTAREA`*textarea*`\Laravel\Nova\Fields\Textarea``DATE`*date*`\Laravel\Nova\Fields\Date``DATETIME`*datetime*`\Laravel\Nova\Fields\DateTime``CODE`*code*`\Laravel\Nova\Fields\Number``PASSWORD`*password*`\Laravel\Nova\Fields\Password`Config Options
--------------

[](#config-options)

OptionInformationValues`show_title`Show the title of the module in the header of the settings tool page.`true` title is shown `false` title is hidden`show_suffix`The suffix of the tab title on the settings tool page (space included automatically). The suffix can be set in the translation (the default suffix is ` Settings`).`true` suffix is shown `false` suffix is hidden`show_icons`Determines if the prefix of the tab title on the settings tool page can hold an icon. The icon can be set when a `SettingGroup` is created.`true` icons are shown `false` icons are hiddenTranslation Options
-------------------

[](#translation-options)

KeyInformationDefault English Value`settings_title`The title of the navigation item and the header of the tool page.*Settings*`save_settings`The caption of the save button on the tool page.*Save Settings*`setting_tab_suffix`The suffix of the tabs (groups) on the tool page (first space is included automatically).*Settings*`save_success`The toaster message when saving the settings succeeded.*The settings are saved successfully!*`save_error`The toaster message when saving the settings fails.*An error occurred while saving the settings!*`load_error`The toaster message when loading the settings fails.*An error occurred while loading the settings!*`module_not_migrated`The toaster message when the module is not migrated yet.*The settings module is not migrated!*`SettingItem` options
---------------------

[](#settingitem-options)

KeyValue TypeInformation*default*`mixed`Set a default value for the `SettingItem`.Tested Fields
-------------

[](#tested-fields)

Field ClassPassed TestNot Supported (Yet)Not Tested Yet`\Laravel\Nova\Fields\Text`x`\Laravel\Nova\Fields\Boolean`x`\Laravel\Nova\Fields\Number`x`\Laravel\Nova\Fields\TextArea`x`\Laravel\Nova\Fields\Date`x`\Laravel\Nova\Fields\DateTime`x`\Laravel\Nova\Fields\Code`x`\Laravel\Nova\Fields\Password`x`\Laravel\Nova\Fields\Avatar`x`\Laravel\Nova\Fields\Country`x`\Laravel\Nova\Fields\Currency`x`\Laravel\Nova\Fields\File`x`\Laravel\Nova\Fields\Gravatar`x`\Laravel\Nova\Fields\ID`x`\Laravel\Nova\Fields\Image`x`\Laravel\Nova\Fields\Markdown`x`\Laravel\Nova\Fields\PasswordConfirmation`x`\Laravel\Nova\Fields\Place`x`\Laravel\Nova\Fields\Select`x`\Laravel\Nova\Fields\Status`x`\Laravel\Nova\Fields\Timezone`x`\Laravel\Nova\Fields\Trix`xScreenshots
-----------

[](#screenshots)

[![NovaSettingsTool](./screenshots/screenshot_1.png?raw=true "NovaSettingsTool")](./screenshots/screenshot_1.png?raw=true)

[![NovaSettingsTool](./screenshots/screenshot_2.png?raw=true "NovaSettingsTool")](./screenshots/screenshot_2.png?raw=true)

[![NovaSettingsTool](./screenshots/screenshot_3.png?raw=true "NovaSettingsTool")](./screenshots/screenshot_3.png?raw=true)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~151 days

Recently: every ~189 days

Total

6

Last Release

1936d ago

Major Versions

1.0.4 → v2.0.02021-01-19

### Community

Maintainers

![](https://www.gravatar.com/avatar/3da9d43a7d50d911ccd85c13570c97d9f4591c9ce1521738de5119e27a775a23?d=identicon)[pkaratanev](/maintainers/pkaratanev)

---

Top Contributors

[![pkaratanev](https://avatars.githubusercontent.com/u/47246453?v=4)](https://github.com/pkaratanev "pkaratanev (8 commits)")[![weslal](https://avatars.githubusercontent.com/u/45918294?v=4)](https://github.com/weslal "weslal (7 commits)")[![gserrg](https://avatars.githubusercontent.com/u/4309663?v=4)](https://github.com/gserrg "gserrg (3 commits)")[![kyosifov](https://avatars.githubusercontent.com/u/47237885?v=4)](https://github.com/kyosifov "kyosifov (2 commits)")

---

Tags

laravelconfigurationSettingsconfigsettingpreferencesmanageglobalnovapreference

### Embed Badge

![Health badge](/badges/pkaratanev-nova-settings-tool/health.svg)

```
[![Health](https://phpackages.com/badges/pkaratanev-nova-settings-tool/health.svg)](https://phpackages.com/packages/pkaratanev-nova-settings-tool)
```

###  Alternatives

[selective/config

Config component, strictly typed

19185.8k3](/packages/selective-config)[illuminatech/nova-config

A Laravel Nova tool for application configuration management.

134.2k](/packages/illuminatech-nova-config)[cornford/setter

An easy way to integrate Database Settings with Laravel.

151.0k](/packages/cornford-setter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
