farzai/laravel-model-settings

Laravel model setting

1.0.0 2023-05-22 15:23 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Welcome to Laravel Model Settings, a powerful PHP library that allows you to manage settings for your models. This package is a simple yet effective tool that helps you dynamically configure your models in a Laravel application.

Installation

You can install the package via composer:

composer require farzai/laravel-model-settings

You can publish and run the migrations with:

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

You can publish the config file with:

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

This is the contents of the published config file:

// config/model-settings.php
return [
    'model' => \Farzai\ModelSettings\Model::class,
];

Usage

use Farzai\ModelSettings\Facades\Setting;
use App\Models\Post;

// Create a setting for a model
Setting::for(Post::class)->set('default-status', 'draft');

// Get a setting for a model
Setting::for(Post::class)->get('default-status');

// Get a setting for a model or return a default value
Setting::for(Post::class)->get('default-status', 'published');

Or you can use without model

use Farzai\ModelSettings\Facades\Setting;

// Create a setting
Setting::set('default-status', 'draft');

// Get a setting
Setting::get('default-status');

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

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