{"id":19706710,"url":"https://github.com/unisharp/laravel-settings","last_synced_at":"2025-04-06T09:10:39.820Z","repository":{"id":35606639,"uuid":"39879979","full_name":"UniSharp/laravel-settings","owner":"UniSharp","description":"Persistent key-value storage for Laravel, json value supported. l10n supported.","archived":false,"fork":false,"pushed_at":"2019-10-05T09:44:13.000Z","size":50,"stargazers_count":106,"open_issues_count":11,"forks_count":26,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-30T08:11:14.699Z","etag":null,"topics":["config","key-value","laravel","locale","setting"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"DevelopersGuild/api-da-housing","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UniSharp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-29T07:31:23.000Z","updated_at":"2024-11-29T20:17:00.000Z","dependencies_parsed_at":"2022-06-27T14:31:47.312Z","dependency_job_id":null,"html_url":"https://github.com/UniSharp/laravel-settings","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UniSharp%2Flaravel-settings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UniSharp%2Flaravel-settings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UniSharp%2Flaravel-settings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UniSharp%2Flaravel-settings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UniSharp","download_url":"https://codeload.github.com/UniSharp/laravel-settings/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247457803,"owners_count":20941906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config","key-value","laravel","locale","setting"],"created_at":"2024-11-11T21:36:40.087Z","updated_at":"2025-04-06T09:10:39.795Z","avatar_url":"https://github.com/UniSharp.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Software License][ico-license]](LICENSE.md)\n[![Build Status][ico-travis]][link-travis]\n[![Coverage Status][ico-scrutinizer]][link-scrutinizer]\n[![Quality Score][ico-code-quality]][link-code-quality]\n[![Total Downloads][ico-downloads]][link-downloads]\n\n# Persistent Settings Manager for Laravel\n\n * Simple key-value storage\n * Support multi-level array (dot delimited keys) structure.\n * Localization supported.\n\n## Installation\n\n1. Install package\n\n    ```bash\n    composer require unisharp/laravel-settings\n    ```\n\n1. Edit config/app.php (Skip this step if you are using laravel 5.5+)\n\n    service provider:\n\n    ```php\n    Unisharp\\Setting\\SettingServiceProvider::class,\n    ```\n\n    class aliases:\n\n    ```php\n    'Setting' =\u003e Unisharp\\Setting\\SettingFacade::class,\n    ```\n\n1. Create settings table\n\n    ```bash\n    php artisan vendor:publish --tag=settings\n    php artisan migrate\n    ```\n\n## Usage\n\n```php\nSetting::get('name', 'Computer');\n// get setting value with key 'name'\n// return 'Computer' if the key does not exists\n\nSetting::all();\n// get all settings\n\nSetting::lang('zh-TW')-\u003eget('name', 'Computer');\n// get setting value with key and language\n\nSetting::set('name', 'Computer');\n// set setting value by key\n\nSetting::lang('zh-TW')-\u003eset('name', 'Computer');\n// set setting value by key and language\n\nSetting::has('name');\n// check the key exists, return boolean\n\nSetting::lang('zh-TW')-\u003ehas('name');\n// check the key exists by language, return boolean\n\nSetting::forget('name');\n// delete the setting by key\n\nSetting::lang('zh-TW')-\u003eforget('name');\n// delete the setting by key and language\n```\n\n## Dealing with array\n\n```php\nSetting::get('item');\n// return null;\n\nSetting::set('item', ['USB' =\u003e '8G', 'RAM' =\u003e '4G']);\nSetting::get('item');\n// return array(\n//     'USB' =\u003e '8G',\n//     'RAM' =\u003e '4G',\n// );\n\nSetting::get('item.USB');\n// return '8G';\n```\n\n## Dealing with locale\n\nBy default language parameter are being resets every set or get calls. You could disable that and set your own long term language parameter forever using any route service provider or other method.\n\n```php\nSetting::lang(App::getLocale())-\u003elangResetting(false);\n```\n\n[ico-version]: https://img.shields.io/packagist/v/UniSharp/categorizable.svg?style=flat-square\n[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square\n[ico-travis]: https://img.shields.io/travis/UniSharp/categorizable/master.svg?style=flat-square\n[ico-scrutinizer]: https://img.shields.io/scrutinizer/coverage/g/UniSharp/categorizable.svg?style=flat-square\n[ico-code-quality]: https://img.shields.io/scrutinizer/g/UniSharp/categorizable.svg?style=flat-square\n[ico-downloads]: https://img.shields.io/packagist/dt/UniSharp/categorizable.svg?style=flat-square\n\n[link-packagist]: https://packagist.org/packages/unisharp/categorizable\n[link-travis]: https://travis-ci.org/UniSharp/categorizable\n[link-scrutinizer]: https://scrutinizer-ci.com/g/UniSharp/categorizable/code-structure\n[link-code-quality]: https://scrutinizer-ci.com/g/UniSharp/categorizable\n[link-downloads]: https://packagist.org/packages/UniSharp/categorizable\n[link-author]: https://github.com/UniSharp\n[link-contributors]: ../../contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funisharp%2Flaravel-settings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funisharp%2Flaravel-settings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funisharp%2Flaravel-settings/lists"}