Laravel Feature Toggle
, (*1)
Laravel wrapper for JoshuaEstes/FeatureToggle, a library which allows you to easily add and modify various features to your code while in development., (*2)
Installation
Add the following line to the require
section of composer.json
:, (*3)
{
"require": {
"infi-nl/laravel-feature-toggle": "dev-master"
}
}
Setup
- Add
'InfiNl\LaravelFeatureToggle\LaravelFeatureToggleServiceProvider',
to the service provider list in app/config/app.php
.
- Add
'FeatureContainer' => 'InfiNl\LaravelFeatureToggle\Facades\FeatureContainerFacade',
to the list of aliases in app/config/app.php
.
Configuration
Create the file /config/packages/infi-nl/laravel-feature-toggle/feature.php and modify it to suit your needs., (*4)
The configuration file must be formatted like this:, (*5)
<?php
return array(
"featureName1" => array(
"enabled" => true
),
...
"featureNameN" => array(
"enabled" => false
)
);
Usage
An instance of JoshuaEstes\Component\FeatureToggle\FeatureContainer
initialized with features defined in the package config is available through the Facade FeatureContainerFacade
, the alias FeatureContainer
or through the laravel-feature-toggle
service in the IOC container., (*6)
Testing feature availability
FeatureContainer::hasFeature("featureName");
Testing feature enabled
$feature = FeatureContainer::getFeature("featureName");
$feature->isEnabled();
More examples
The examples above display only very basic usage of the library, for more advanced examples and detailed information on the library check the JoshuaEstes/FeatureToggle repository., (*7)