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
设置
- 将
'JonathanBird\FeatureSwitch\FeatureSwitchServiceProvider',添加到app/config/app.php文件中的服务提供者列表中。 - 运行
php artisan vendor:publish将功能配置文件发布到config/feature-switch/features.php
使用
- 在视图中,您可以使用指令
@feature('feature_name') something @endfeature(注意@else也适用于功能未启用的情况) - 在您的控制器或其他任何地方,只需在文件顶部添加
use Feature;并使用别名Feature::isEnabled('feature_one')即可,它返回一个布尔值 - 要添加功能,将功能名称和布尔值添加到
config/feature-switch/features.php
为什么我会选择这个而不是git合并呢?
如果您有多个环境(例如,三个测试环境、预发布和生产环境),并且您希望代码库处于持续部署的状态,那么您可能希望为功能创建分支,将其包装在功能开关中,合并到主分支中。当它到达预发布或生产环境并且您发现存在错误时,您可以简单地关闭功能,而无需从合并中删除代码。这也非常适合发布功能,因为它只是一个简单的开/关开关 - 简单地git忽略features.php文件,以便在每种环境中使用不同的一个。
问题
如果您发现任何问题,请报告。如果您可以修复它,请fork项目并使用pull request,这将更快。