tailflow/laravel-human-readable-keys
Laravel Human Readable Keys
Have you ever wanted to generate Stripe-like IDs for your Eloquent models? This package does exactly that!
Installation
You can install the package via composer:
composer require tailflow/laravel-human-readable-keys
Usage
- Change type of the
id(or whatever your primary key column is) tostringin the migration
Schema::create('users', function (Blueprint $table) {
$table->string('id');
...
});
- Add
HasHumanReadableKeytrait to a model
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Tailflow\HumanReadableKeys\Concerns\HasHumanReadableKey;
class User extends Model
{
use HasHumanReadableKey;
...
}
- (Optional) Customize key prefix and length
By default, a singular form of the table name is used as prefix for generated keys. You can customize that by overriding
the getKeyPrefix method on the model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Tailflow\HumanReadableKeys\Concerns\HasHumanReadableKey;
class User extends Model
{
use HasHumanReadableKey;
...
public function getKeyPrefix(): string
{
return 'account';
}
}
Generated keys contain a unique hash that is 24 characters in length. To customize hash length, override the getKeyLength method:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Tailflow\HumanReadableKeys\Concerns\HasHumanReadableKey;
class User extends Model
{
use HasHumanReadableKey;
...
public function getKeyLength(): string
{
return 16;
}
}
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 1.0 | >=7.2 | >=5.7 | MIT |