2017 © Pedro Peláez
 

package maturity

A laravel-based software maturity feature flags configuration package

image

bitnetic/maturity

A laravel-based software maturity feature flags configuration package

  • Monday, April 16, 2018
  • by bitnetic
  • Repository
  • 1 Watchers
  • 0 Stars
  • 49 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 96 % Grown

The README.md

A simple software maturity feature flag configuration package for Laravel 5.5/5.6

Laravel ships with .env files to give you great flexibility over the configuration and behaviour of your application depending on the environment it is running in., (*1)

However, specific environments are a more technical aspect, and often this is not the driver for when a functionality should be available or not. Be it local, docker or test - there are a mixture of situations where you would probably not want your software to access a critical 3rd party API, apply strict business rules, store certain data or behave a simpler way than usual., (*2)

Using a maturity-based approach, you can bundle that behaviour into a handful of levels and and apply it to the different technical environments you are going to set up., (*3)

How to install it

Just pull in the package via composer:, (*4)

$ composer install bitnetic/maturity "0.1.*"

The maturity package comes with a config file named config/maturity.php. This file is deployed to the central laravel configuration directory using the vendor:publish command:, (*5)

$ php artisan vendor:publish --tag=config

How to use it

Insert your desired feature flags:, (*6)

$ vi config/maturity.php

Set your planned environment's maturities, e.g.:, (*7)

$ echo "MATURITY=DEV" >> .env
$ echo "MATURITY=PROD" >> .env.aws

Check and use feature flags within your business code, e.g.:, (*8)

if (Maturity::has('PROCESS_CREDIT_CARDS')) {
    // ...
}

or in your DatabaseSeeder.php:, (*9)

public function run()
{
    $this->call(\Acme\Cars\PlateRuleSeeder::class);

    if (Maturity::has('SEED_DEMO_DATA')) {
        // ...
    }
}

The Versions

16/04 2018

dev-master

9999999-dev

A laravel-based software maturity feature flags configuration package

  Sources   Download

The Requires

 

by Mathias Lieber

15/04 2018

0.1.2

0.1.2.0

A laravel-based software maturity feature flags configuration package

  Sources   Download

The Requires

 

by Mathias Lieber

15/04 2018

0.1.1

0.1.1.0

A laravel-based software maturity feature flags configuration package

  Sources   Download

The Requires

 

by Mathias Lieber

15/04 2018

0.1.0

0.1.0.0

A laravel-based software maturity feature flags configuration package

  Sources   Download

The Requires

 

by Mathias Lieber