Via Composer
$ composer require apichef/laravel-obfuscate
Laravel | Minimum Versions |
---|---|
5.x | ^1.0.0 |
6.x | ^1.0.0 |
7.x | ^2.0.0 |
8.x | ^2.0.0 |
9.x | ^3.0.0 |
10.x | ^4.0.0 |
11.x | ^4.0.0 |
// Model
namespace App;
use Illuminate\Database\Eloquent\Model;
use ApiChef\Obfuscate\Obfuscatable;
class Post extends Model
{
use Obfuscatable;
// ...
}
// Route
Route::get('/posts/{post}', function (Post $post) {
return [
'id' => $post->getRouteKey(),
'title' => $post->title,
];
})->name('post.show');
// Generate the URL to a named route.
$post = Post::find(1);
echo(route('post.show', $post));
// https://my-app.test/api/posts/458047115
namespace App\Http\Requests;
use ApiChef\Obfuscate\Rules\HashExists;
use Illuminate\Foundation\Http\FormRequest;
class PostStoreRequest extends FormRequest
{
// ...
public function rules()
{
return [
'post_id' => [
'required',
new HashExists('posts', 'id')
],
];
}
}
use ApiChef\Obfuscate\Support\Facades\Obfuscate;
$result = Obfuscate::encode(1);
// 458047115
$result = Obfuscate::encode([1, 2]);
// [458047115, 2033899500]
$result = Obfuscate::decode('458047115');
// 1
$result = Obfuscate::decode([458047115, 2033899500]);
// [1, 2]
Please see CHANGELOG for more information on what has changed recently.
$ composer test
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.