okipa / laravel-settings-management
此包已被废弃且不再维护。没有建议的替代包。
一种简单的方法,让您在任何地方都能访问应用程序设置。
1.0.4
2018-05-18 12:41 UTC
Requires
- php: >=7.0
- illuminate/support: ~5.0
Requires (Dev)
- orchestra/testbench: ^3.6
This package is auto-updated.
Last update: 2019-09-04 16:43:58 UTC
README
一种简单的方法,让您在任何地方都能访问应用程序设置。
⚠️ 此包已被废弃 ⚠️
如果您想使其发展并维护它,请随时与我联系。
开始之前
设置管理只使用一个模型实例,这意味着使用数据库表存储您的设置时,只会读取和更新一行。
即使此包使用数据库存储也能正常工作,但使用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();