propaganistas / laravel-fakeid
4.2.3
2024-03-12 12:12 UTC
Requires
- php: ^8.0
- illuminate/config: ^9.0|^10.0
- illuminate/container: ^9.0|^10.0
- illuminate/routing: ^9.0|^10.0
- illuminate/support: ^9.0|^10.0
- jenssegers/optimus: ^1.0
Requires (Dev)
- orchestra/testbench: *
- phpunit/phpunit: ^9.5.10
Suggests
- vinkla/hashids: Laravel-FakeId is deprecated
README
寻找新的维护者。如果到 2025 年 12 月仍未找到维护者,此存储库将被删除。
请使用 hashids。
Laravel FakeID
通过使用 Optimus,在路由中启用 Eloquent 模型 ID 的自动加密。
安装
-
运行 Composer require 命令安装此包
composer require propaganistas/laravel-fakeid
-
包将自动注册自己。
-
运行以下 artisan 命令来自动初始化包的设置
php artisan fakeid:setup
用法
简单地将 RoutesWithFakeIds
特性导入到您的模型中
use Illuminate\Database\Eloquent\Model; use Propaganistas\LaravelFakeId\RoutesWithFakeIds; class MyModel extends Model { use RoutesWithFakeIds; }
为该特定模型生成的所有路由将暴露一个 假 ID,而不是原始主键。此外,包含这些假 ID 的传入请求将自动转换回真实 ID。因此,加密层是透明的,不需要您重新考虑任何事情。只需像往常一样使用 Laravel 即可。
示例
假设有一个具有命名 show
路由的 Article
模型。
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; }
现在可以使用 Laravel 的 route()
助手生成指向此特定端点的路由,并且它将自动包含一个 假 ID。
<a href="{{ route('articles.show', $article) }}"> {{ $article->name }} </a>