hemarao/laravel-settings

适用于 composer 版本 2 的 laravel 应用程序简单设置包

dev-master 2021-08-19 08:45 UTC

This package is not auto-updated.

Last update: 2024-09-30 20:08:02 UTC


README

Latest Version on Packagist Total Downloads

这是一个 Laravel 包,为 Laravel 应用程序提供所需的各种设置模块。

支持 PHP >= 7.2

安装

  1. composer

将以下内容添加到您的 composer 文件中。

"hemarao/laravel-settings": "3.0"

或者运行以下命令

composer require hemarao/laravel-settings --dev
  1. config/app.php [在 Laravel 5.5 中不需要此步骤,因为自动发现功能]

将您的提供者添加到 providers 数组中

'providers' => [
    // ...
   	\Hemarao\Laravelsettings\app\Providers\SettingServiceProvider::class
    // ...
  ],

并将 Setting 类添加到别名数组中

'aliases' => [
	// ...
	'Settings' => \Hemarao\Laravelsettings\app\Facades\Setting::class
    // ...
],
  1. 发布

运行以下命令

php artisan vendor:publish

config/settings.phpresources/vendor/settings 将添加到您的 Laravel 项目中。

  1. 迁移

您可以在 config/settings.php 中设置表名

return [
	// ...
	// settings package table name the default is `settings`
    'table' => 'settings'
    // ...
];

默认表名为 settings。然后运行迁移命令

php artisan migrate

设置表将迁移到您的数据库。

包选项

发布包后,会添加新的配置文件 config/settings.php,根据业务需求更新值

return [
    //settings route
    'route' => 'settings',

    'middleware' => ['web', 'auth'],

    // hidden records not editable from interface when set to false
    'show_hidden_records' => false,

    //javascript format
    'date_format' => 'mm/dd/yyyy',
    // number of digits after the decimal point
    'number_step' => 0.001,

    // upload path for settings of type file
    'upload_path' => 'uploads/settings',

    // valid mime types for settings of type file
    'mimes' => 'jpg,jpeg,png,txt,csv,pdf',

    'per_page' => 10,

    // settings package table name the default is `settings`
    'table' => 'settings'
];

如何使用

设置的默认路由是

your-domain/settings

它将显示所有设置的列表,您可以从那里管理设置。

在代码中获取设置值时,可以使用外观类如下所示

验证键是否存在

\Settings::has('SETTING_KEY');
\Settings::get('SETTING_KEY');
\Settings::get('SETTING_KEY', 'Default value if not exist');

例如

\Settings::get('SITE_TITLE', 'Laravel Settings');

您也可以使用星号获取设置组。例如

\Settings::get('MAIL_*');

将返回所有以 MAIL 开头的设置键的数组

[
'MAIL_DRIVER' => 'smtp',
'MAIL_HOST'   => 'mailtrap.io',
'MAIL_PORT'   => '2525',
]

如果是文件类型,将返回完整路径

config('settings.upload_path') . '/' . $value;

例如

uploads/settings/site_logo.png

===================================