Skip to content

Latest commit

 

History

History
88 lines (69 loc) · 2.74 KB

README.md

File metadata and controls

88 lines (69 loc) · 2.74 KB

Mixpanel PHP Library

This library provides an API to track events and update profiles on Mixpanel. By default, events are written using ssl over a persistent socket connection. You can contribute your own persistence implementation by creating a Consumer.

Install with Composer

Add mixpanel/mixpanel-php as a dependency and run composer update

"require": {
    ...
    "mixpanel/mixpanel-php" : "2.*"
    ...
}

Now you can start tracking events and people:

<?php
// import dependencies
require 'vendor/autoload.php';

// get the Mixpanel class instance, replace with your project token
$mp = Mixpanel::getInstance("MIXPANEL_PROJECT_TOKEN");

// track an event
$mp->track("button clicked", array("label" => "sign-up")); 

// create/update a profile for user id 12345
$mp->people->set(12345, array(
    '$first_name'       => "John",
    '$last_name'        => "Doe",
    '$email'            => "[email protected]",
    '$phone'            => "5555555555",
    "Favorite Color"    => "red"
));

Install Manually

  1. Download the Mixpanel PHP Library
  2. Extract the zip file to a directory called "mixpanel-php" in your project root
  3. Now you can start tracking events and people:
<?php
// import Mixpanel
require 'mixpanel-php/lib/Mixpanel.php';

// get the Mixpanel class instance, replace with your project token
$mp = Mixpanel::getInstance("MIXPANEL_PROJECT_TOKEN");

// track an event
$mp->track("button clicked", array("label" => "sign-up")); // track an event

// create/update a profile for user id 12345
$mp->people->set(12345, array(
    '$first_name'       => "John",
    '$last_name'        => "Doe",
    '$email'            => "[email protected]",
    '$phone'            => "5555555555",
    "Favorite Color"    => "red"
));

Documentation

For further examples and options checkout out the "examples" folder

Changelog

Version 2.4:

  • Fixed a bug where passing the integer 0 for the ip parameter would be ignored

Version 2.1 - 2.3:

  • Broken releases

Version 2.0:

  • Changed the default consumer to be 'curl' (CurlConsumer)
  • Changed the default setting of 'fork' to false in the Curl Consumer. This means that by default, events and profile updates are sent synchronously using the PHP cURL lib when using the Curl Consumer.
  • 'createAlias' uses the CurlConsumer with 'fork' explicitly set to false (as we need this to be synchronous) instead of the SocketConsumer.
  • Fixed bug where max_queue_size was never read