Laravel wrapper for JoshuaEstes/FeatureToggle, a library which allows you to easily add and modify various features to your code while in development.
Add the following line to the require
section of composer.json
:
{
"require": {
"infi-nl/laravel-feature-toggle": "dev-master"
}
}
- Add
'InfiNl\LaravelFeatureToggle\LaravelFeatureToggleServiceProvider',
to the service provider list inapp/config/app.php
. - Add
'FeatureContainer' => 'InfiNl\LaravelFeatureToggle\Facades\FeatureContainerFacade',
to the list of aliases inapp/config/app.php
.
Create the file <app_root>/config/packages/infi-nl/laravel-feature-toggle/feature.php and modify it to suit your needs.
The configuration file must be formatted like this:
<?php
return array(
"featureName1" => array(
"enabled" => true
),
...
"featureNameN" => array(
"enabled" => false
)
);
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.
FeatureContainer::hasFeature("featureName");
$feature = FeatureContainer::getFeature("featureName");
$feature->isEnabled();
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.