will2therich/laravel-model-anonymizer

声明模型匿名化类以帮助匿名化数据。

1.0.0 2024-04-18 11:02 UTC

This package is auto-updated.

Last update: 2024-09-18 22:31:06 UTC


README

LaravelModelAnonymizer

LaravelModelAnonymizer

LaravelModelAnonymizer 是一个 Laravel 扩展包,旨在帮助开发者匿名化模型中的现有数据。这在创建非生产数据集时特别有用,其中需要隐藏敏感信息,同时不影响应用程序数据的完整性。

安装

要安装此包,请在您的 Laravel 项目中运行以下命令

composer require will2therich/laravel-model-anonymizer

安装包后,您需要通过运行以下命令设置环境

php artisan model-anonymizer:install

此命令将在您的 app 文件夹下创建一个名为 Anonymize 的目录。在这里,您可以定义您的匿名化类。

创建匿名化类

匿名化类应放置在 app/Anonymize 目录中。每个类都必须实现 AnonymizeInterface 并定义每个模型属性应该如何匿名化。以下是一个入门示例

namespace App\Anonymize;

use Faker\Factory;
use Illuminate\Database\Eloquent\Model;
use will2therich\LaravelModelAnonymizer\Contracts\AnonymizeInterface;

class User implements AnonymizeInterface
{
    public static $model = \App\Models\User::class;

    public static $name = "User";

    public static function anonymize(Model $model)
    {
        $faker = Factory::create();
    
        $model->email = $faker->unique()->email();
        $model->save();
    }

}
  • anonymize 方法的内容替换为适合您特定模型需求的适当 Faker 方法。
  • $model 替换为所需的模型
  • $name 替换为要使用的命令名称

用法

设置匿名化类后,您可以通过运行以下命令匿名化数据库

php artisan db:model-anonymize

此命令将遍历您在 Anonymize 目录中定义的每个模型匿名化器,并相应地匿名化每个数据库项。

贡献

LaravelModelAnonymizer 欢迎贡献!请确保您的代码遵循 Laravel 编码标准,并为新功能或修复添加测试。

许可

此包是开源软件,许可协议为 MIT 许可