Skip to content

Core components for the Recsys PHP processing library

License

Notifications You must be signed in to change notification settings

recsyssdk/common

Repository files navigation

Recsys Common

Core components for the Recsys PHP processing library

Build Status

Recsys is a framework agnostic, multi-gateway recsys processing library for PHP.This package implements common classes required by Recsys.

Installing

$ composer require recsys/common -vvv

Usage

Build your own gateway

<?php
namespace Recsys;

use Recsys\Common\AbstractGateway;

class TestGateway extends AbstractGateway
{
    // Report multi-items
    public function reportItems(array $parameters)
    {
        ...
    }
    
    // Report one item
    public function reportItem(array $parameter)
    {
        ...
    }
    
    // Remove multi-items
    public function removeItems(array $itemIds)
    {
        ...
    }
    
    // Remove one item
    public function removeItem($itemId)
    {
        ...
    }
    
    // Search multi-items
    public function findItems(array $itemIds)
    {
        ...
    }
    
    // Search one item
    public function findItem($itemId)
    {
        ...
    }
    
    // Report user multi-actions
    public function reportActions(array $parameters)
    {
        ...
    }
    
    // Report user one action
    public function reportAction($parameter)
    {
        ...
    }
    
    // Get a recommend result
    public function recommend(array $parameters)
    {
        ...
    }  
}

Build your own request

<?php

namespace Recsys;

use Recsys\Common\Message\AbstractRequest;

class TestRequest extends AbstractRequest
{
    // Handle your data and return them
    public function getData()
    {
        ...
    }
    
    // Make a http request to remote api, return a response implements \Recsys\Common\Message\ResponseInterface
    public function sendData($data)
    {
        ...    
        
        return new TestResponse($this, $data);
    }
}

Build your own response

<?php
namespace Recsys;

use Recsys\Common\Message\AbstractResponse;

class TestResponse extends AbstractResponse
{
    public function isSuccessful()
    {
        ...
    }
}

Use TestGateway

<?php

use Recsys\Recsys;
use Recsys\TestGateway;

$gateway = Recsys::create(TestGateway::class);

...

$response = $gateway->recommend($options);

if ($response->isSuccessful()) {
    print_r($response);
} else {
    ...
}

License

The MIT License (MIT). Please see License File for more information.

About

Core components for the Recsys PHP processing library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages