rpdvlpr/configcat-laravel

Laravel plugin for the ConfigCat php-sdk

1.0.0 2019-06-21 07:46 UTC

This package is auto-updated.

Last update: 2024-04-21 20:15:31 UTC


README

ConfigCat SDK for PHP provides easy integration between ConfigCat service and applications using PHP.

ConfigCat is a feature flag, feature toggle, and configuration management service. That lets you launch new features and change your software configuration remotely without actually (re)deploying code. ConfigCat even helps you do controlled roll-outs like canary releases and blue-green deployments. https://configcat.com

Build Status Coverage Status Latest Stable Version Total Downloads Latest Unstable Version

Getting started

1. Install the package with Composer

composer require rpdvlpr/configcat-laravel

This will install:

  • The ConfigCat PHP SDK in vendor\configcat\configcat-client
  • The ConfigCat Laravel Plugin in vendor\configcat\configcat-laravel

2. Enable ConfigCat Plugin in Laravel

Note: you can skip this step if you have Laravel 5.5+
First, we need to add the ConfigCat Services to the list of Providers in config/app.php:

// config/app.php
'providers' => array(
    // ...
    Rpdvlpr\Config\ConfigCatServiceProvider::class,
);

If you want to use an ConfigCat facade, add an alias in the same file (not required):

// config/app.php
'aliases' => [
    // ...
    'ConfigCat' => Rpdvlpr\Config\Facade\ConfigCat::class,
];

3. Load configuration

To configure the plugin, you must publish the plugin configuration file.

Publish the default configuration file with the following command:

php artisan vendor:publish

4. Set YOUR API KEY

Log in to ConfigCat Management Console and go to your Project to get your API Key: API-KEY

Paste YOUR API KEY into the .env file

# .env
# ...
CONFIGCAT_API_KEY=#YOUR-API-KEY#
CONFIGCAT_AUTH_CLASS="\Auth"        # optional, uses default Auth facade
CONFIGCAT_AUTH_METHOD="user"        # optional, uses default user method
CONFIGCAT_USER_IDENTIFIER="id"      # optional, uses default User id
CONFIGCAT_USER_METHOD="toArray"     # optional, uses default toArray method
CONFIGCAT_CACHE_REFRESH_INTERVAL=60 # optional, defaults to 60 seconds
CONFIGCAT_REQUEST_TIMEOUT=30        # optional, defaults to 30 seconds
CONFIGCAT_CONNECT_TIMEOUT=10        # optional, defaults to 10 seconds

5. Get your setting value:

Using this, you will be able to get different setting values for different users in your application.
Percentage and targeted rollouts are calculated by the user object identified by Laravel's Auth class.
It uses Session ID as a fallback if there is no authenticated user

Read more about Targeting here.

$isMyAwesomeFeatureEnabled = \ConfigCat::getValue("isMyAwesomeFeatureEnabled");
if(is_bool($isMyAwesomeFeatureEnabled) && $isMyAwesomeFeatureEnabled) {
    doTheNewThing();
} else {
    doTheOldThing();
}

Support

If you need help how to use this Laravel Plugin for the ConfigCat PHP SDK feel free to to contact the ConfigCat Staff on https://configcat.com. We're happy to help.

Contributing

Contributions are welcome.

About ConfigCat