PHPackages                             oceceli/inheritable-model-settings - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. oceceli/inheritable-model-settings

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

oceceli/inheritable-model-settings
==================================

Inherit any setting from any model infinitely deep

130PHP

Since Aug 6Pushed 2y ago2 watchersCompare

[ Source](https://github.com/oceceli/inheritable-model-settings)[ Packagist](https://packagist.org/packages/oceceli/inheritable-model-settings)[ RSS](/packages/oceceli-inheritable-model-settings/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

Inherit any setting from any model infinitely deep
==================================================

[](#inherit-any-setting-from-any-model-infinitely-deep)

[![Latest Version on Packagist](https://camo.githubusercontent.com/cc1069805bdae151414abc5b9c26ab21ca7f5f6ef8b8d23e78771c155dc7224f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f636563656c692f696e686572697461626c652d6d6f64656c2d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/oceceli/inheritable-model-settings)[![GitHub Tests Action Status](https://camo.githubusercontent.com/7331762748d90228b22acc61246acfe7504b546875c8f384f379c62e97fd97fc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6f636563656c692f696e686572697461626c652d6d6f64656c2d73657474696e67732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/oceceli/inheritable-model-settings/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/e8658f777c6be139154105ba2b7a37af3574e2038a4ec14b4f9612d66f108d99/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6f636563656c692f696e686572697461626c652d6d6f64656c2d73657474696e67732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/oceceli/inheritable-model-settings/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/5ff93b6a21bcba1f249b46d568f904cb6310569d82b79fcdfa6cbe85561e196e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f636563656c692f696e686572697461626c652d6d6f64656c2d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/oceceli/inheritable-model-settings)

The package offers an unprecedented level of flexibility, allowing users to inherit settings from any model infinitely deep. This capability empowers users to combine and extend configurations to suit their specific requirements. You can also set default values for settings that are not inherited from any model.

Todo
----

[](#todo)

- Add tests
- Caching

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

[](#installation)

You can install the package via composer:

```
composer require oceceli/inheritable-model-settings
```

You can publish and run the migrations with:

```
php artisan vendor:publish --tag="inheritable-model-settings-migrations"
php artisan migrate
```

You can publish the config file with:

```
php artisan vendor:publish --tag="inheritable-model-settings-config"
```

This is the contents of the published config file:

```
return [
];
```

Optionally, you can publish the views using

```
php artisan vendor:publish --tag="inheritable-model-settings-views"
```

Usage
-----

[](#usage)

Add the `HasSettings` trait and `Adjustable` interface to any model you want to have settings.

### Setting a value

[](#setting-a-value)

```
$model->setSetting('key', 'value');
```

### Getting a value

[](#getting-a-value)

```
$model->getSetting('key');
```

### Getting all settings

[](#getting-all-settings)

```
$model->settings;
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [oceceli](https://github.com/oceceli)

License
-------

[](#license)

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

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity22

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/64218462?v=4)[subject27](/maintainers/subject27)[@Subject27](https://github.com/Subject27)

---

Top Contributors

[![oceceli](https://avatars.githubusercontent.com/u/24857144?v=4)](https://github.com/oceceli "oceceli (1 commits)")

### Embed Badge

![Health badge](/badges/oceceli-inheritable-model-settings/health.svg)

```
[![Health](https://phpackages.com/badges/oceceli-inheritable-model-settings/health.svg)](https://phpackages.com/packages/oceceli-inheritable-model-settings)
```

###  Alternatives

[neos/seo

SEO configuration and tools for Neos

141.0M31](/packages/neos-seo)

PHPackages © 2026

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