cakemanager / cakephp-settings
CakePHP 设置插件
Requires
- php: >=5.4
- cakemanager/cakephp-utils: dev-master
- cakephp/orm: 3.*
- cakephp/plugin-installer: *
Requires (Dev)
- cakephp/orm: ~3.0
- phpunit/phpunit: 4.6.*@dev
This package is auto-updated.
Last update: 2024-09-06 21:41:37 UTC
README
设置插件允许您在数据库中管理设置(通常与 cake 的 Configure
-类一起使用)。
-
易于使用:您可以通过
Setting
-类 使用Configure::read()
和Configure::write()
方法。 -
此外,您还可以通过您的 控制台 读取和写入设置。
-
最后但同样重要的是:如果您使用 CakeAdmin 插件,您将获得一个 自动生成的表单 :).
注意:设置插件以前缀为前提。例如:
Prefix.Name
。
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。对于现有应用程序,您可以将以下内容添加到您的 composer.json
文件中
"require": { "cakemanager/cakephp-settings": "dev-master" }
然后运行 /composer update
。
配置
您需要将以下行添加到您的应用程序的 bootstrap.php 文件中
Plugin::load('Settings', ['bootstrap' => true, 'routes' => true]); // or run in your shell $ bin/cake plugin load -b -r Settings
接下来,您需要创建表。使用以下命令初始化设置表。
$ bin/cake migrations migrate -p Settings
用法
Setting
-类的工作方式与 CakePHP 自身的 Configure
-类相同。
您可以使用以下方式包含该类
use Settings\Core\Setting;
写入
您可以使用以下方式写入设置
Setting::write('App.Name', 'Custom Name');
值 自定义名称
现已写入数据库,键为 App.Name
。空数组可以包含多个选项
读取
现在我们将从我们刚刚创建的键中读取值。使用
Setting::read('App.Name');
这将返回我们的值: 自定义名称
。
注册
为了防止在迁移到另一个环境时丢失配置,引入了 register
方法。使用以下方法确保配置存在于您的应用程序中
Setting::register('App.Name', 'Default Value', []);
选项
以下选项可用
description
- 设置的描述。type
- 使用类型,如text
、select
等。options
- 可用选项的数组。与type = select
选项结合使用时,将生成具有给定选项的选择框。editable
- 如果设置可编辑则为布尔值。weight
- 设置的权重(顺序)。
选项键可以处理多种类型。您可以定义一个包含选项的数组,也可以创建一个接近于防止在每次请求上执行长时间查询的选项。例如
Setting::register('App.Index', false, [ 'options' => function() { return TableRegistry::get('Blogs')->find('list')->toArray(); } ]);
使用设置表单
如果您使用 CakeAdmin 插件,我们将创建一个默认表单,您可以在其中编辑设置(如果字段 editable
设为 1
)。设置插件将自动向管理区域添加一个菜单项。
如果您点击菜单项,您将看到一个包含所选前缀(或默认为 App
)的所有可编辑设置的列表。
注册
要向设置列表添加您的前缀,请使用以下内容
Configure::write('Settings.Prefixes.Test', 'Test');