flagception/database-activator
最新稳定版本:2.0.0
Composer 安装命令:
composer require flagception/database-activator
包简介
Activator for manage feature toggles via database
关键字:
README 文档
README
Manage feature flags for Flagception with a sql database (mysql, postgres, sqlite, ...)!
Download the library
Open a command console, enter your project directory and execute the following command to download the latest stable version of this library:
$ composer require flagception/database-activator
Usage
Just create a new DatabaseActivator instance and commit it to your feature manager:
// YourClass.php
class YourClass
{
public function run()
{
$activator = new DatabaseActivator('pdo-mysql://user:secret@localhost/mydb');
$manager = new FeatureManager($activator);
if ($manager->isActive('your_feature_name')) {
// do something
}
}
}
Connection
This activator use dbal under the hood. We redirect the first argument directly to dbal - so you can use all known connection options (see documentation):
User and password
// YourClass.php
class YourClass
{
public function run()
{
$activator = new DatabaseActivator([
'dbname' => 'mydb',
'user' => 'user',
'password' => 'secret',
'host' => 'localhost',
'driver' => 'pdo_mysql'
]);
// ...
}
}
Connection string
// YourClass.php
class YourClass
{
public function run()
{
$activator = new DatabaseActivator('pdo-mysql://user:secret@localhost/mydb');
// ...
}
}
DBAL instance
// YourClass.php
class YourClass
{
public function run()
{
$activator = new DatabaseActivator($this->myDbalInstance);
// ...
}
}
Table
The activator will create the sql table if it does not already exist. The default table name is flagception_features which contains
a feature and a state column. You can change the table and columns names by the second argument. It expects
an array with values for db_table, db_column_feature and db_column_state. Setting one of the fields in optional.
Example:
// YourClass.php
class YourClass
{
public function run()
{
$activator = new DatabaseActivator('pdo-mysql://user:secret@localhost/mydb', [
'db_table' => 'my_feature_table',
'db_column_feature' => 'foo_feature_name',
'db_column_state' => 'foo_is_active'
]);
// The activator create a table 'my_feature_table' with the column 'foo_feature_name' and 'foo_is_active'.
$manager = new FeatureManager($activator);
if ($manager->isActive('your_feature_name')) {
// do something
}
}
}
统计信息
- 总下载量: 416.78k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 3
- 推荐数: 4
其他信息
- 授权协议: MIT
- 更新时间: 2018-07-07