定制 adlogix/zf2-opensoft-rollout 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

adlogix/zf2-opensoft-rollout

Composer 安装命令:

composer require adlogix/zf2-opensoft-rollout

包简介

ZF2 module for the Opensoft Rollout library

README 文档

README

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

A ZF2 Module for opensoft/rollout

Installation

  1. Install the module via composer by running:
composer require adlogix/zf2-opensoft-rollout:~1.0
  1. Add the Adlogix\Zf2Rollout module to the module section of your config/application.config.php

Configuration

Rollout parameters can be defined in the application configurations:

<?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.' 
            ]
        ]
    ],
]

Usage

To retrieve the rollout service from a zend controller:

<?php

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

Refer to the documentation of opensoft/rollout for more information on how to use the library.

Describe the features

Since the Rollout library doesn't have (yet) a functionality to describe its feature flags, you can define them through this module. To do so, simply add your feature flag identifier in the 'features' sections of the rollout configuration as shown here:

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

To display the description in a view you have to call the view helper : rollout_description. If the description is not found in the configuration, an empty string will be returned.

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

Zend Developer Toolbar

The module comes with support for the zend developer toolbar.

zf2-adlogix-rollout zend developer tools

⚠️ The ZDT rollout comes with a quick toggling action, allowing the user to quickly enable/disable a feature by clicking on one of the listed feature elements in the toolbar. Make sure to only authorise these actions in development mode. ⚠️

An example of enabling the end points with 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']],
            ],
        ],

    ],
];

统计信息

  • 总下载量: 7.11k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 3
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-09-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固