kduma/eloquent-tokenable

Allows using tokens (HashIDs) instead of id in Laravel Eloquent models.

v1.2.0 2024-11-11 18:33 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License SensioLabsInsight StyleCI

Allows using tokens (HashIDs) instead of id in Laravel Eloquent models.

Check full documentation here: opensource.duma.sh/libraries/php/eloquent-tokenable

Setup

Add the package to the require section of your composer.json and run composer update

"kduma/eloquent-tokenable": "^1.1"

Prepare models

In your model add following lines:

use \KDuma\Eloquent\Tokenable;
protected $appends = array('token');

Optionally you can add also:

  • protected $salt = 'SALT';
    A salt for making hashes. Default is table name. This salt is added to your APP_KEY.

  • protected $length = 10;
    A salt length. Default is 10.

  • protected $alphabet = 'qwertyuiopasdfghjklzxcvbnm1234567890';
    A hash alphabet. Default is abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890

Usage

  • $model->token - Generate tokens
  • Model::whereToken($id)->first() - Find by token. (whereToken is query scope)

Hashids

A special thanks to creators of hashids, a PHP class that this package is based.

Packagist

View this package on Packagist.org: kduma/eloquent-tokenable