Setono / client

PHP abstraction for identifying a browser client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PHP abstraction for identifying a browser client

Latest Version Software License Build Status Code Coverage Mutation testing

Installation

composer require setono/client

If you don't use your own client id generation strategy, you should also install either the symfony/uid or the ramsey/uuid package:

# If you want to use symfony/uid
composer require symfony/uid

# If you want to use ramsey/uuid
composer require ramsey/uuid

Usage

use Setono\Client\Client;

// initialization with a generated id and an empty metadata object
$client = new Client();

// initialization with your own id and existing metadata
$client = new Client('my-client-id', ['foo' => 'bar']);

// get the client id
$id = $client->id;

// set metadata
$client->metadata->set('foo', 'bar');

// set metadata that expires in 1 hour
$client->metadata->set('foo', 'bar', 3600);

// get metadata
$client->metadata->get('foo');

// remove metadata
$client->metadata->remove('foo');

There's also a Cookie class which can be used to store the client id in a cookie.

About

PHP abstraction for identifying a browser client

License:MIT License


Languages

Language:PHP 100.0%