Skip to content

launchdarkly/php-server-sdk

Repository files navigation

LaunchDarkly SDK for PHP

Code Climate

Circle CI

Quick setup

  1. Install the PHP SDK with Composer

     php composer.phar require launchdarkly/launchdarkly-php php composer.phar require "guzzlehttp/guzzle:6.2.1" php composer.phar require "kevinrob/guzzle-cache-middleware": "1.4.1" 
  2. After installing, require Composer's autoloader:

     require 'vendor/autoload.php'; 
  3. Create a new LDClient with your SDK key:

     $client = new LaunchDarkly\LDClient("your_sdk_key"); 

Your first feature flag

  1. Create a new feature flag on your dashboard

  2. In your application code, use the feature's key to check whether the flag is on for each user:

     $user = new LaunchDarkly\LDUser("user@test.com"); if ($client->variation("your.flag.key", $user)) { # application code to show the feature } else { # the code to run if the feature is off } 

Fetching flags

There are two approaches to fetching the flag rules from LaunchDarkly:

  • Making HTTP requests (using Guzzle)
  • Setting up the ld-daemon to store the flags in Redis

Using Guzzle

To use Guzzle it must be required as a dependency:

php composer.phar require "guzzlehttp/guzzle:6.2.1" php composer.phar require "kevinrob/guzzle-cache-middleware": "1.4.1" 

It will then be used as the default way of fetching flags.

Using Redis

  1. Require Predis as a dependency:

    php composer.phar require "predis/predis:1.0.*"

  2. Create the LDClient with the Redis feature requester as an option:

    $client = new LaunchDarkly\LDClient("your_sdk_key", ['feature_requester_class' => 'LaunchDarkly\LDDFeatureRequester']);

Learn more

Check out our documentation for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the complete reference guide for this SDK.

Contributing

We encourage pull-requests and other contributions from the community. We've also published an SDK contributor's guide that provides a detailed explanation of how our SDKs work.

About LaunchDarkly