jonathanbird/feature-switch

功能开关变得简单易行

0.1.0 2016-06-08 06:22 UTC

This package is auto-updated.

Last update: 2024-09-05 15:40:17 UTC


README

需要包装新功能以供开发和生产使用?在视图中使用指令或在控制器中使用别名

Java和其他语言中有许多优秀的库,但我发现PHP在这方面好的库非常少,所以我创建了属于自己的库。

安装

将以下行添加到composer.json文件的require部分

{
    "require": {
        "jonathanbird/feature-switch": "dev-master"
    }
}

或者使用composer require jonathanbird/feature-switch

设置

  1. 'JonathanBird\FeatureSwitch\FeatureSwitchServiceProvider',添加到app/config/app.php文件中的服务提供者列表中。
  2. 运行php artisan vendor:publish将功能配置文件发布到config/feature-switch/features.php

使用

  1. 在视图中,您可以使用指令@feature('feature_name') something @endfeature(注意@else也适用于功能未启用的情况)
  2. 在您的控制器或其他任何地方,只需在文件顶部添加use Feature;并使用别名Feature::isEnabled('feature_one')即可,它返回一个布尔值
  3. 要添加功能,将功能名称和布尔值添加到config/feature-switch/features.php

为什么我会选择这个而不是git合并呢?

如果您有多个环境(例如,三个测试环境、预发布和生产环境),并且您希望代码库处于持续部署的状态,那么您可能希望为功能创建分支,将其包装在功能开关中,合并到主分支中。当它到达预发布或生产环境并且您发现存在错误时,您可以简单地关闭功能,而无需从合并中删除代码。这也非常适合发布功能,因为它只是一个简单的开/关开关 - 简单地git忽略features.php文件,以便在每种环境中使用不同的一个。

问题

如果您发现任何问题,请报告。如果您可以修复它,请fork项目并使用pull request,这将更快。