rpdvlpr / configcat-laravel
Laravel plugin for the ConfigCat php-sdk
Requires
- php: >=5.5
- configcat/configcat-client: ~1.0
This package is auto-updated.
Last update: 2025-02-21 22:24:07 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
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:
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.