propaganistas/laravel-fakeid

This package is abandoned and no longer maintained. The author suggests using the vinkla/hashids package instead.

Automatic ID obfuscation for Eloquent models.

Maintainers

👁 Propaganistas

Package info

github.com/Propaganistas/Laravel-FakeId

pkg:composer/propaganistas/laravel-fakeid

Fund package maintenance!

Propaganistas

Statistics

Installs: 231 970

Dependents: 2

Suggesters: 0

Stars: 203

Open Issues: 0

4.2.3 2024-03-12 12:12 UTC

Requires

Requires (Dev)

Suggests

Provides

None

Conflicts

None

Replaces

None

MIT 908618820044e07c3a0ebfecdf17efb479717302

  • Propaganistas <Propaganistas.woop@users.noreply.github.com>

laravelhashidsobfuscationoptimusfakeid


README

Looking for a new maintainer. If no maintainer is found by December 2025, this repository will be deleted.

Use hashids instead.

Laravel FakeID

👁 Tests
👁 Latest Stable Version
👁 Total Downloads
👁 License

Enables automatic Eloquent model ID obfuscation in routes using Optimus.

Installation

  1. Run the Composer require command to install the package

    composer require propaganistas/laravel-fakeid
  2. The package will automatically register itself.

  3. Run the following artisan command to auto-initialize the package's settings

    php artisan fakeid:setup

Usage

Simply import the RoutesWithFakeIds trait into your model:

use Illuminate\Database\Eloquent\Model;
use Propaganistas\LaravelFakeId\RoutesWithFakeIds;

class MyModel extends Model
{
 use RoutesWithFakeIds;
}

All routes generated for this particular model will expose a fake ID instead of the raw primary key. Moreover incoming requests containing those fake IDs are automatically converted back to a real ID. The obfuscation layer is therefore transparent and doesn't require you to rethink everything. Just use Laravel as you normally would.

Example

Assuming an Article model having a named show route.

routes/web.php:

Route::get('articles/{article}', 'ArticleController@show')->name('articles.show');

app/Article.php

use Illuminate\Database\Eloquent\Model;
use Propaganistas\LaravelFakeId\RoutesWithFakeIds;

class Article extends Model
{
 use RoutesWithFakeIds;
}

A route to this specific endpoint can now be generated using Laravel's route() helper, and it will automatically contain a fake ID:

<a href="{{ route('articles.show', $article) }}"> {{ $article->name }} </a>