pderas/shambles

一个用于为 Laravel 模型生成和添加哈希值的库。

v3.0.2 2021-07-05 16:41 UTC

This package is auto-updated.

Last update: 2024-09-05 23:59:43 UTC


README

composer require pderas/shambles

目录

  1. 关于
  2. 安装
  3. 要求
  4. 说明
  5. 用法
  6. 许可证

关于

此包是为 Laravel 设计的,可以将哈希值添加到数据库中的模型。

安装

要求

使用此包,必须满足以下要求

说明

成功要求包后,(仅适用于 v5.3)您必须在 config/app.php 文件中注册服务提供者。

Pderas\Shambles\ShamblesServiceProvider::class,

用法

如果您想为 shambles 创建一个配置文件,用于为所有模型定义默认值。

php artisan vendor:publish --provider="Pderas\Shambles\ShamblesServiceProvider"

后端

使用 shambles 时,您必须将数据库中所需模型的 'hash' 列添加到数据库中。

例如,在某个迁移中...

class MyMigration extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('my_table', function(Blueprint $table) {
            $table->string('hash')->unique();
        });
    }
}

然后您只需将 trait 添加到模型中

use Pderas\Shambles\Traits\ShamblesTrait;

class MyModel extends Model
{
    use ShamblesTrait;

    $defaultHashSize = 36;      // hash length can be set on a per model basis
    $defaultRouteKey = 'hash';  // route key can be set on a per model basis (laravel default is 'id', shambles default is 'hash') 

    ...
}

现在,每次创建新模型时,都会自动为其添加哈希值。然后您可以使用该哈希值进行查找,并隐藏模型的自动增长 id。

获取请求 ...

https:///my-model-route/{HASH}
function myModelRouteFn(Request $request, MyModel $my_model)
{
    ...
    $my_model->update(...);
    ...
}

许可证

此项目受 MIT 许可证保护。您可以在任何地方自由使用它。