| tag | 59d0c2f515d582cdac411f03ed2e3ecb0699f73e | |
|---|---|---|
| tagger | Donald Szeto <donald@tappingstone.com> | Wed Sep 04 15:54:50 2013 -0700 | 
| object | aa7ab97355070e28e6cb374cddc7189a100dd3db | 
PredictionIO PHP SDK 0.6.0
| commit | aa7ab97355070e28e6cb374cddc7189a100dd3db | [log] [tgz] | 
|---|---|---|
| author | Donald Szeto <donald@tappingstone.com> | Wed Sep 04 15:54:28 2013 -0700 | 
| committer | Donald Szeto <donald@tappingstone.com> | Wed Sep 04 15:54:28 2013 -0700 | 
| tree | 032fb38ee7866d355cf5f17618a9ff5625a6f150 | |
| parent | 61b565c092909af9a3f000d31f38bfb32af75b7c [diff] | |
| parent | 13a70725208524b4cd5a03bb92ca53e260775634 [diff] | 
Merge branch 'develop'
The easiest way to install PredictionIO PHP client is to use Composer.
Add predictionio/predictionio as a dependency in your project's composer.json file:
 {
     "require": {
         "predictionio/predictionio": "*"
     }
 }
Install Composer:
curl -sS https://getcomposer.org/installer | php -d detect_unicode=Off
Use Composer to install your dependencies:
php composer.phar install
Include Composer's autoloader in your PHP code
 require_once("vendor/autoload.php");
Assuming you are cloning to your home directory:
cd ~ git clone git://github.com/PredictionIO/PredictionIO-PHP-SDK.git
Build the Phar:
cd ~/PredictionIO-PHP-SDK phing
Once the build finishes you will get a Phar in build/artifacts, and a set of API documentation. Assuming you have copied the Phar to your current working directory, to use the client, simply
 require_once("predictionio.phar");
For a list of supported commands, please refer to the API documentation.
This package is a web service client based on Guzzle. A few quick examples are shown below.
For a full user guide on how to take advantage of all Guzzle features, please refer to http://guzzlephp.org. Specifically, http://guzzlephp.org/tour/using_services.html#using-client-objects describes how to use a web service client.
Many REST request commands support optional arguments. They can be supplied to these commands by the set method.
use PredictionIO\PredictionIOClient;
$client = PredictionIOClient::factory(array("appkey" => "<your app key>"));
// assume you have a user with user ID 5
$command = $client->getCommand('create_user', array('pio_uid' => 5));
$response = $client->execute($command);
// assume you have a book with ID 'bookId1' and we assign 1 as the type ID for book
$command = $client->getCommand('create_item', array('pio_iid' => 'bookId1', 'pio_itypes' => 1));
$response = $client->execute($command);
// assume this user has viewed this book item
$client->identify('5');
$client->execute($client->getCommand('record_action_on_item', array('pio_action' => 'view', 'pio_iid' => 'bookId1')));
try {
    // assume you have created an itemrec engine named 'engine1'
    // we try to get top 10 recommendations for a user (user ID 5)
    $client->identify('5');
    $command = $client->getCommand('itemrec_get_top_n', array('pio_engine' => 'engine1', 'pio_n' => 10));
    $rec = $client->execute($command);
    print_r($rec);
} catch (Exception $e) {
    echo 'Caught exception: ', $e->getMessage(), "\n";
}
try {
    // assume you have created an itemsim engine named 'engine2'
    // we try to get top 10 similar items for an item (item ID 6)
    $command = $client->getCommand('itemsim_get_top_n', array('pio_iid' => '6', 'pio_engine' => 'engine1', 'pio_n' => 10));
    $rec = $client->execute($command);
    print_r($rec);
} catch (Exception $e) {
    echo 'Caught exception: ', $e->getMessage(), "\n";
}