wpbones / flags
WP Bones 的 Flags
1.0.3
2024-09-24 09:10 UTC
Requires
- php: >=7.4
- symfony/yaml: ^5.0
README
为 WP Bones 提供的 Flags 是一个 PHP 包,专为 WP Bones 框架设计,允许您使用 YAML 配置文件启用或禁用插件功能。这种方法简化了功能管理,并使插件更加灵活,易于配置,即使是非技术用户也可以轻松操作。
主要功能
- 启用和禁用功能:使用 Flags,您可以轻松激活或禁用特定的插件功能。
- YAML 配置:YAML 文件易于阅读和修改,可用于配置各种插件选项。
- 灵活性:可以通过插件配置自定义 YAML 文件的路径和名称。
- 可重用性:相同的 YAML 文件可以在不同的插件中使用,从而提高代码一致性和维护性。
安装
您可以使用以下命令安装第三方包
php bones require wpbones/flags
我建议使用此命令而不是 composer require,因为这样做会自动重命名。
您可以使用 composer 安装此包
composer require wpbones/flags
您也可以在您的插件 composer.json 文件中添加 "wpbones/flags": "~0.7"
"require": { "php": ">=7.4.0", "wpbones/wpbones": "~1.5", "wpbones/flags": "~0.7" },
并运行
composer install
YAML 文件示例
# The version of the file is 1.0.0 version: "1.0.0" example: # Enable or disable the Example feature enabled: true # Throttle request time in minutes # By setting this value to 0, the feature will be disabled throttle: 5 # Request timeout timeout: 0
有关 YAML 语法的更多信息,请参阅 Symfony 文档。
YAML 文件配置路径
您可以在插件中的任何位置创建自己的 YAML 文件,但我建议在插件的 config 目录中创建它。
默认路径和文件名为
config/flags.yaml
在插件配置中设置 Flags 路径
您可以通过在插件的 config/plugin.php 文件中添加以下行来在插件配置中设置路径和文件名
<?php if (!defined('ABSPATH')) { exit(); } return [ /* |-------------------------------------------------------------------------- | Logging Configuration |-------------------------------------------------------------------------- | | Here you may configure the log settings for your plugin. | | Available Settings: "single", "daily", "errorlog". | | Set to false or 'none' to stop logging. | */ 'log' => 'errorlog', 'log_level' => 'debug', /* |-------------------------------------------------------------------------- | Flags package path Configuration |-------------------------------------------------------------------------- | | Here you may configure the flags path for your plugin. | */ 'flags' => [ 'path' => 'config/flags.yaml', ], ...
基本用法
您可以使用 wpbones_flags 辅助函数获取 Flags 的值
wpbones_flags()->get('example.enabled', false);
第一个参数是 Flags 名称,第二个参数是如果找不到 Flags 则使用的默认值。
您也可以直接使用类
use WpBones\Flags\Flags; $flags = new Flags(); $flags->get('example.enabled', false);
或使用静态方法
use WpBones\Flags\Flags; Flags::get('example.enabled', false);
通过方法设置 Flags 路径
您也可以使用以下方法设置/更改路径
wpbones_flags('config/flags.yaml')->get('logger.enabled', false);
或使用流畅方法 withPath
wpbones_flags()->withPath('config/flags.yaml')->get('logger.enabled', false);
直接使用类
use WpBones\Flags\Flags; $flags = new Flags(); $flags->withPath('config/flags.yaml')->get('logger.enabled', false);
或使用静态方法
use WpBones\Flags\Flags; Flags::withPath('config/flags.yaml')->get('logger.enabled', false);