A simple PHP module for feature toggle.

0.1.2 2019-02-19 04:33 UTC

This package is not auto-updated.

Last update: 2020-03-31 12:40:51 UTC



Install the latest version with:

$ composer require tourane/codetags

Basic usage


  • PHP 5.3.2 is required but using the latest version of PHP is highly recommended.

Default instance

Example source code examples/default-instance.php:

use Tourane\Codetags\TagManager;

$default = TagManager::instance();

// ...

if ($default->isActive('new-version')) {
  // do somethings

if ($default->isActive('mongodb', 'couchdb')) {
  // at least one of 'mongodb' and 'couchdb' is available

if ($default->isActive(['foo', 'bar'])) {
  // both 'foo' and 'bar' are available

Multiple instances

Example source code examples/multiple-instances.php:

use Tourane\Codetags\TagManager;

$default = TagManager::instance();

$oldFlow = TagManager::getInstance("oldflow");
$newFlow = TagManager::getInstance("current", array(
  "namespace" => "newflow"

if ($default->isActive("new-version")) {
  echo sprintf("%s is activated\n", "new-version");

if ($default->isActive(["foo", "bar"])) {
  echo sprintf("Both %s are activated\n", implode(",", ["foo", "bar"]));

if ($newFlow->isActive("couchdb", "mongodb")) {
  echo sprintf("One of %s is activated\n", implode(",", ["couchdb", "mongodb"]));

if ($newFlow->isActive(["couchdb", "mongodb"])) {
  echo sprintf("All of %s are activated\n", implode(",", ["couchdb", "mongodb"]));

Setting environment variables

Setting environment variables in php-fpm

Find your php-fpm pool config file (usually /etc/php/7.2/fpm/pool.d/www.conf, but could be in other place or have a different name - /etc/php/7.2/fpm/php-fpm.conf for example).

Find this line and uncomment it (remove the ‘;’):

;clear_env = no

Add environment variables declaration like this:

env[CODETAGS_INCLUDED_TAGS] = 'mongodb,foo,bar'

Restart the php-fpm process with:

sudo service php7.2-fpm restart



See LICENSE to see the full text.