adlogix / zf2-opensoft-rollout

Opensoft Rollout 库的 ZF2 模块

1.3.0 2018-11-27 14:51 UTC

This package is auto-updated.

Last update: 2024-09-28 04:07:00 UTC


README

Build Status Scrutinizer Code Quality Total Downloads License composer.lock Latest Stable Version

opensoft/rollout 提供的 ZF2 模块

安装

  1. 通过运行 composer 安装模块
composer require adlogix/zf2-opensoft-rollout:~1.0
  1. Adlogix\Zf2Rollout 模块添加到您的 config/application.config.php 文件中的模块部分

配置

可以在应用程序配置中定义 Rollout 参数

<?php
return [
    'rollout' => [

        // Service id to obtain a Opensoft\Rollout\RolloutUserInterface instance
        'user_service' => null,

        // Service id to obtain a Opensoft\Rollout\Storage\StorageInterface instance
        'storage_service' => 'zf2_rollout_storage_array',

        // Required configuration if storage service is Adlogix\Zf2Rollout\Storage\ZendDbAdapterStorage
        'zend_db_storage' => [
            'table_name' => 'rollout_feature'
        ],

        // Required configuration if storage service is Adlogix\Zf2Rollout\Storage\Doctrine\DoctrineORMStorage
        'doctrine_storage' => [
            'class_name' => SomeFeatureEntity::class
        ],
        
        // (Optional) Describes the features with a description
        'features' => [
            'feature_1' => [
                'description' => 'The description of the feature.' 
            ]
        ]
    ],
]

用法

要从 zend 控制器中检索 Rollout 服务

<?php

$rollout = $this->getServiceLocator()->get('zf2_rollout');

有关如何使用库的更多信息,请参阅 opensoft/rollout 的文档。

描述功能

由于 Rollout 库尚未提供描述功能标志的功能,您可以通过此模块定义它们。为此,只需将功能标志标识符添加到 Rollout 配置的 'features' 部分即可,如下所示

<?php
return [
    'rollout' => [
        
        // (Optional) Describes the features with a description
        'features' => [
            'feature_1' => [
                'description' => '' 
            ]
        ]
    ],
];

要在视图中显示描述,必须调用视图辅助函数:rollout_description。如果配置中未找到描述,将返回空字符串。

echo $this->rollout_description('feature_1');

Zend 开发者工具栏

此模块支持 Zend 开发者工具栏。

zf2-adlogix-rollout zend developer tools

⚠️ ZDT Rollout 提供快速切换操作,允许用户通过单击工具栏中列出的功能元素之一来快速启用/禁用功能。请确保仅在开发模式下授权这些操作。⚠️

BjyAuthorize 的一个启用端点的示例

<?php

// config/autoload/authorization.development.php

use Adlogix\Zf2Rollout\Service\Controller\RolloutController;

return [
    'bjyauthorize' => [

        'guards' => [

            // Add this if you are adding guards on controllers
            'BjyAuthorize\Guard\Controller' => [
                ['controller' => RolloutController::class, 'roles' => ['guest','user']],
            ],

            // Add this if you are adding guards on routes
            'BjyAuthorize\Guard\Route' => [
                ['route' => 'rollout_feature_toggle', 'roles' => ['guest','user']],
            ],
        ],

    ],
];