okipa/laravel-settings-management

此包已被废弃且不再维护。没有建议的替代包。

一种简单的方法,让您在任何地方都能访问应用程序设置。

1.0.4 2018-05-18 12:41 UTC

This package is auto-updated.

Last update: 2019-09-04 16:43:58 UTC


README

一种简单的方法,让您在任何地方都能访问应用程序设置。

Source Code Latest Version Total Downloads License: MIT Build Status Code Coverage Scrutinizer Code Quality

⚠️ 此包已被废弃 ⚠️
如果您想使其发展并维护它,请随时与我联系。

开始之前

设置管理只使用一个模型实例,这意味着使用数据库表存储您的设置时,只会读取和更新一行。
即使此包使用数据库存储也能正常工作,但使用Laravel Model Json Storage 可能是更好的选择。

安装

  • 使用composer安装此包
composer require okipa/laravel-settings-management
  • Laravel 5.5+ 使用包自动发现,因此不需要您手动添加ServiceProvider。如果您不使用自动发现或使用Laravel 5.4-版本,请在您的 app/Providers/AppServiceProvider.php 文件中的 register() 方法中添加包服务提供者。
// laravel settings management
// https://github.com/Okipa/laravel-settings-management
$this->app->register(Okipa\LaravelSettingsManagement\SettingsManagementServiceProvider::class);
  • 运行以下命令: php artisan vendor:publish --tag=settingsManagement
    这会将这些文件发布到您的项目中(根据您的需求进行自定义)

    • app/Settings.php:设置模型。
    • config/settings.php:设置管理配置文件。
    • database/migration/2018_05_16_145709_create_settings_table.php:设置管理迁移(如果您选择使用Laravel Model Json Storage,请删除此文件)。
  • 运行Laravel迁移命令: php artisan migrate

  • 您可能想要自定义 config/settings.php 配置文件中的值

    • model:设置用于应用程序设置管理的模型的命名空间。

注意
您的模型设置管理迁移应将每个字段设置为 nullable() 或具有默认值。
没有此配置,将抛出 PDOException,因为数据库中存储了一个空设置模型实例,而实际上并不存在。

用法

使用 settings() 辅助函数作为模型实例,从您的应用程序的任何地方访问设置数据

$email = settings()->email;

通过使用 settings() 辅助函数来更新设置数据。

settings()->update(['email' => 'john@doe.com']);

// or

settings()->setAttribute('email', 'john@doe.com')->save();

// or

settings()->email = john@doe.com;
settings()->save();