praveen-osits/laravel-settings

为 Laravel 应用程序提供的简单设置包

2.0 2020-07-09 20:31 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:25:30 UTC


README

Latest Version on Packagist Total Downloads

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

支持 Laravel >= 5.2

安装

  1. composer

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

"praveen-osits/laravel-settings": "2.0"

或者运行以下命令

composer require praveen-osits/laravel-settings
  1. config/app.php [在 Laravel 5.5 中无需此步骤,因为包自动发现功能]

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

'providers' => [
    // ...
   	\SMATAR\Settings\App\Providers\SettingServiceProvider::class
    // ...
  ],

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

'aliases' => [
	// ...
	'Settings' => \SMATAR\Settings\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

演示

演示网站

http://settings.esolution-inc.com/

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