hellofresh/launchdarkly-php

This package is abandoned and no longer maintained. No replacement package was suggested.

Official LaunchDarkly SDK for PHP

Installs: 19 958

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 5

Forks: 45

pkg:composer/hellofresh/launchdarkly-php


README

Code Climate

Circle CI

Requirements

  1. PHP 5.5 or higher.

Quick setup

  1. Install the PHP SDK and monolog for logging with Composer

     php composer.phar require launchdarkly/launchdarkly-php
    
  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