alexusmai / easy-settings
Laravel + Vue - 为您的应用程序提供便捷的设置
Requires
- php: >=5.6.4
- laravel/framework: 5.4.*|5.5.*|5.6.*|5.7.*|5.8.*
README
该应用程序旨在方便快捷地处理应用程序的简单数据。
例如,您需要在网站页脚放置一个电话号码。您可以直接将其输入到HTML代码中,但如果需要更改它,您将不得不深入代码。如果您为客户端制作了一个网站,那么他甚至不知道如何更改这个号码。当然,您可以为自己编写所有项目的CRUD……或者您可以使用这个包。
此包适合存储如下数据:
- 字符串
- 数字、电话号码
- 小的文本块
- 布尔类型(true,false)开/关
此外,如果您有一个多语言网站,您还可以使工作变得更简单,并将所需数据保存为多种语言。
安装
Composer
composer require alexusmai/easy-settings
如果您有Laravel 5.4或更早版本,请在config/app.php中添加服务提供程序,并
Alexusmai\EasySettings\EasySettingsServiceProvider::class,
添加别名。
'ESettings' => Alexusmai\EasySettings\Facades\EasySettingsFacade::class,
发布配置文件(easy-settings.php)
php artisan vendor:publish --tag=easy-settings-config
您可以直接安装npm包并在Vue应用程序中使用它 - 更多信息请参阅 laravel-vue-easy-settings
或者
发布js和css文件 - laravel-vue-easy-settings包(编译、最小化)
php artisan vendor:publish --tag=easy-settings-assets
运行迁移 -> 此命令创建"easy-settings"表
php artisan migrate
设置
打开配置文件 - config/easy-settings.php
/** * List of languages * add the necessary ones to create additional fields(field type "Lang") */ 'languages' => ['en', 'ru'], /** * Development mode * Show - edit/add settings group */ 'dev' => true, /** * Save data to laravel cache * set null, 0 - if you don't need cache (default) * if you want use cache - set the number of minutes for which the value should be cached */ 'cache' => null, /** * Middleware * Add your middleware name to array -> ['web', 'auth', 'admin'] * !!!! RESTRICT ACCESS FOR NON ADMIN USERS !!!! */ 'middleware' => ['web', 'auth']
在'languages
'数组中您可以添加必要的语言
要创建和编辑设置组,您必须使用开发者模式
。在您添加了必要的设置组之后,如果您不希望用户能够更改结构、验证规则、删除等,请禁用开发者模式。
使用缓存,这将避免不必要的数据库查询
请务必将您的中间件添加到以限制对应用程序的访问
打开您想要放置应用程序块的视图文件,并添加
- 如果之前没有这样做,请在头部块中添加csrf令牌
<!-- CSRF Token --> <meta name="csrf-token" content="{{ csrf_token() }}">
- 该包使用一些Bootstrap 4样式,如果您已经使用它,那么您不需要连接任何样式。否则请添加 -
<link href="{{ asset('vendor/easy-settings/css/esettings.css') }}" rel="stylesheet">
- 添加js(laravel-vue-easy-settings)
<script src="{{ asset('vendor/easy-settings/js/esettings.js') }}"></script>
- 添加应用程序的div
<div id="easy-settings-app"></div>
用法
现在需要添加必要的设置组,添加字段、验证规则,然后可以在您的代码中使用。
ESettings::get('groupName.settingsName'); ESettings::get('groupName.settingsName', $defaultValue);
- 如果您选择了'单选按钮'类型,结果将是布尔类型(true或false)。
- 如果选择"Lang"类型,结果将取决于应用程序的语言设置,在调用时。
- 如果找不到所需的语言,将使用回退区域设置(见config/app.php)或默认值。
'fallback_locale' => 'en',
数据生成器
有时在项目开发过程中需要回滚数据库,而包中的数据将丢失。为了避免这种情况,您可以运行以下命令
php artisan esettings:seed
这将生成一个数据生成器(EasySettingsSeeder),其中将包含您的数据,然后您需要将其添加到您的数据生成器列表(database/seeds/DatabaseSeeder.php)