Automatic model ID obfuscation in routes for Laravel 5

README.md

Enables automatic Eloquent model ID obfuscation in routes using Optimus.

Installation

  1. Run the Composer require command to install the package

    Ajax php Ajax 某人的栖息地 php yui手工制作rss阅读器– yui手工制作rss阅读器– php yui手工制作rss阅读器– 某人的栖息地 Ajax 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

First of all, make sure the model is bound to Laravel's Router using the model() method, e.g. on top of the routes.php file (or in the boot() method of RouteServiceProvider if you use route caching):

Route::model('mymodel', 'App\MyModel');

This way you can reference a placeholder in your routes (edit/{mymodel})

Next, 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 model will now automatically contain obfuscated IDs and incoming requests to {mymodel} routes containing obfuscated IDs will be handled correctly.

FAQ

Why didn't you implement Hashids instead of Optimus?

PERFORMANCE! Optimus is based on Knuth's multiplicative hashing method and proves to be quite faster than Hashids. It's even mentioned on Hashids' own website.