spatie/laravel-settings
是一个优秀的配置项持久化包,使用该包可以轻松将 Laravel 项目自定义配置项存储到数据库中。但是官方并没有给出完善的文档,只有 github 上的一点儿简单使用说明。下面分享一些获取不同需求配置项的方法。
获取一组配置中的指定配置项:
use AppSettingsGeneralSettings;
function getSiteName(){
return app(GeneralSettings::class)->site_name;
}
获取一组配置中的全部配置项:
use AppSettingsLanguageSettings;
function getLanguageSettings(){
return app(LanguageSettings::class)->toArray();
}
获取持久化的全部配置项:
function getAllSettings(){
//从发布的 settings 配置文件从获取所有有效的 settings
$availableSettings = config('settings.settings');
foreach ($availableSettings as $settingClass) {
$settings = app($settingClass);
$result[$settings->group()] = $settings->toArray();
}
return $result;
}