Download the PHP package bitnetic/maturity without Composer

On this page you can find all versions of the php package bitnetic/maturity. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

Please rate this library. Is it a good library?

All versions of maturity with dependencies

Informations about the package maturity

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.

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.

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.

How to install it

Just pull in the package via composer:

$ 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:

$ php artisan vendor:publish --tag=config

How to use it

Insert your desired feature flags:

$ vi config/maturity.php

Set your planned environment's maturities, e.g.:

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

Check and use feature flags within your business code, e.g.:

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

or in your DatabaseSeeder.php:

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

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

Version
Requires laravel/framework Version 5.5.*|5.6.*|5.7.*

The package bitnetic/maturity contains the following files

Loading the files please wait ....