jaacu/laravel-model-hashids

1.0.0 2019-05-18 01:10 UTC

This package is auto-updated.

Last update: 2024-09-18 13:15:51 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads StyleCI

兼容 Laravel 版本 5.8.x

此包允许您使用 vinkla/laravel-hashids 包在模型中使用 hashids

此包包含 vinkla/laravel-hashids

安装

您可以通过 composer 安装此包

composer require jaacu/laravel-model-hashids

用法

将以下代码添加到您的模型迁移中

...
$table->hashid();
...

然后简单地将 UsesHashIds 特性添加到您的模型中

use Jaacu\LaravelModelHashids\Traits\UsesHashIds;

class MyModel extends Model
{
    use UsesHashIds;
}

现在,使用默认的 Laravel 路由隐式绑定将使用 hashid 而不是正常的 id

示例

使用 UsesHashIds 特性的模型

$model = Model::first();

生成 URL

route('model.show',$model); // output: http://mydomain/model/<hashid>

获取 hashid

$model->getId() // returns: the model <hashid>

配置

发布配置文件以更改默认行为

php artisan vendor:publish --provider="Jaacu\LaravelModelHashids\LaravelModelHashidsServiceProvider"

默认情况下,生成的 hashid 遵循以下结构:应用名称 + 模型名称 + 模型 ID 哈希

  • 应用名称由 app.config 名称设置,可以在 config/app.php 文件中通过设置新的 'short_name' 来覆盖
  • 模型名称由模型类名称设置
  • 模型哈希 ID 由模型的 'id' 哈希设置

此包共享来自 vinkla/laravel-hashids 的配置文件

在 config/hashids.php 中,您可以设置哈希长度和盐

'connections' => [
    'main' => [
        'salt' => env('APP_KEY'), // Uses the env app key by default
        'length' => 6,
    ],
    'alternative' => [
        'salt' => 'your-salt-string',
        'length' => 'your-length-integer',
    ],
]

文档

有关 hash 功能的更多信息,请参阅 vinkla/laravel-hashids

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何安全问题,请通过电子邮件 jaacu.97@gmail.com 而不是使用问题跟踪器来报告

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件

Laravel 包模板

此包是用 Laravel 包模板 生成的。