setono/client

PHP abstraction for identifying a browser client

Maintainers

Details

github.com/Setono/client

Source

Issues

Fund package maintenance!
Setono

v1.1.1 2024-05-07 09:41 UTC

This package is auto-updated.

Last update: 2024-12-07 10:53:19 UTC


README

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.