v0.8.2 release
Merge branch 'develop'
tree: 6e0d9e71eb8eecdfb0346079ce93ab791c494c6a
  1. examples/
  2. src/
  3. tests/
  4. .gitignore
  5. .travis.yml
  6. build.xml
  7. composer.json
  8. CREDITS
  9. LICENSE
  10. phpunit.xml.dist
  11. README.md
README.md

PredictionIO PHP SDK

Build Status Scrutinizer Quality Score Code Coverage

Prerequisites

Note: This SDK only supports Prediction IO version 0.8.2 or higher.

Support

Forum

https://groups.google.com/group/predictionio-user

Issue Tracker

https://predictionio.atlassian.net

If you are unsure whether a behavior is an issue, bringing it up in the forum is highly encouraged.

Getting Started

By Composer

The easiest way to install PredictionIO PHP client is to use Composer.

  1. Add predictionio/predictionio as a dependency in your project's composer.json file:

     {
         "require": {
             "predictionio/predictionio": "~0.8.2"
         }
     }
    
  2. Install Composer:

     curl -sS https://getcomposer.org/installer | php -d detect_unicode=Off
    
  3. Use Composer to install your dependencies:

     php composer.phar install
    
  4. Include Composer's autoloader in your PHP code

     require_once("vendor/autoload.php");
    

Supported Commands

For a list of supported commands, please refer to the API documentation.

Usage

This package is a web service client based on Guzzle. A few quick examples are shown below.

Instantiate PredictionIO API Event Client

use predictionio\EventClient;
$accessKey = 'j4jIdbq59JsF2f4CXwwkIiVHNFnyNvWXqMqXxcIbQDqFRz5K0fe9e3QfqjKwvW3O';
$client = new EventClient($accessKey, 'http://localhost:7070');

Set a User Record from Your App

// assume you have a user with user ID 5
$response = $client->setUser(5);

Set an Item Record from Your App

// assume you have a book with ID 'bookId1' and we assign 1 as the type ID for book
$response = $client->setItem('bookId1', array('pio_itypes' => 1));

Import a User Action (View) form Your App

// assume this user has viewed this book item
$client->recordUserActionOnItem('view', 5, 'bookId1');

Retrieving Prediction Result

// assume you have created an itemrank engine on localhost:8000
// we try to get ranking of 5 items (item IDs: 1, 2, 3, 4, 5) for a user (user ID 7)

$engineClient = new EngineClient('http://localhost:8000');
$response = $engineClient->sendQuery(array('uid'=>7, 'iids'=>array(1,2,3,4,5)));

print_r($rec);