wpbones/flags

1.0.3 2024-09-24 09:10 UTC

This package is auto-updated.

Last update: 2024-09-24 09:10:33 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads License Monthly Downloads

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);