infi-nl/laravel-feature-toggle

Laravel 5 package wrapping joshuaestes/feature-toggle

1.0.1 2014-07-29 18:08 UTC

README

Travis CI Total Downloads License

Laravel wrapper for JoshuaEstes/FeatureToggle, a library which allows you to easily add and modify various features to your code while in development.

Installation

Add the following line to the require section of composer.json:

{
    "require": {
        "infi-nl/laravel-feature-toggle": "dev-master"
    }
}

Setup

  1. Add 'InfiNl\LaravelFeatureToggle\LaravelFeatureToggleServiceProvider', to the service provider list in app/config/app.php.
  2. Add 'FeatureContainer' => 'InfiNl\LaravelFeatureToggle\Facades\FeatureContainerFacade', to the list of aliases in app/config/app.php.

Configuration

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
	)
);

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.

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.