propaganistas/laravel-fakeid

此包已被弃用,不再维护。作者建议使用 vinkla/hashids 包。

Eloquent 模型自动 ID 加密。

资助包维护!
Propaganistas

安装: 189 863

依赖者: 2

建议者: 0

安全: 0

星标: 203

关注者: 8

分支: 13

开放问题: 0

4.2.3 2024-03-12 12:12 UTC

README

寻找新的维护者。如果到 2025 年 12 月仍未找到维护者,此存储库将被删除。

请使用 hashids

Laravel FakeID

Tests Latest Stable Version Total Downloads License

通过使用 Optimus,在路由中启用 Eloquent 模型 ID 的自动加密。

安装

  1. 运行 Composer require 命令安装此包

    composer require propaganistas/laravel-fakeid
  2. 包将自动注册自己。

  3. 运行以下 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>