null/realisticfaker

基于 FAKEr 库创建真实数据

dev-main 2023-07-27 10:11 UTC

This package is not auto-updated.

Last update: 2024-10-03 15:29:17 UTC


README

安装

(真实)FAKEr 需要 PHP >= 7.1。

composer require null/realisticfaker

试用

以示例开始,添加一个包含以下内容的简单 php 文件

require 'vendor/autoload.php';
$faker = RealisticFaker\Factory::create();
echo $faker->gender .' | ' .  $faker->firstName . ' ' .$faker->lastName .' | ' .  $faker->email;

FAKEr 的区别。

FAKEr 很酷。例如,你可以

$faker = Faker\Factory::create();
echo $faker->firstName . ' | ' .  $faker->jobTitle;

这将给你

 Jayda | Receptionist and Information Clerk
 Daphney | Woodworker
 Hope | Refractory Materials Repairer

等等

但是不酷的是,如果你写

$faker = Faker\Factory::create();
echo $faker->firstName . ' ' .$faker->lastName .' | ' .  $faker->email;

它将给你

 Randy DuBuque | mcorkery@gmail.com
 Emelia Thompson | halvorson.lura@mertz.info

这就是 FAKEr 的工作方式(它使用 __get() 魔法),但不是我们预期的。在这里,RealisticFaker 就派上用场了:基于 fakerphp/faker,这个库让你可以创建(更)真实的人物资料,例如,电子邮件地址与人物姓名相匹配。

用法

$faker = RealisticFaker\Factory::create();
echo $faker->gender .' | ' .  $faker->firstName . ' ' .$faker->lastName .' | ' .  $faker->email;

第一次调用

 male | Dock Stiedemann | dock.stiedemann@damore.com

第二次调用

 female | Citlalli Cole | citlalli45@swift.net

... 以此类推

你还可以添加一个标识符 - 因此,每次调用中的“随机”人物都将相同(这对于使用角色进行长期测试可能是你想要的)。所以基本上,“播种”($faker->seed($unique))的功能包含在构造函数中。

$identifier = "admin";
$faker = RealisticFaker\Factory::create($identifier);
echo $faker->gender .' | ' .  $faker->firstName . ' ' .$faker->lastName .' | ' .  $faker->email;

这将始终给你

 male | Geovanni Mohr | geovanni.mohr@yahoo.com

当然,你可以使用原始 FAKEr 的所有功能

echo $faker->jobTitle
echo $faker->address
echo $faker->bankAccountNumber
$faker->addProvider(...);

等等 ...

国际化

你可以使用 FAKEr 的所有原始翻译。只有构造函数不同

$faker = RealisticFaker\Factory::create("admin", "de_DE");
echo $faker->gender .' | ' .  $faker->firstName . ' ' .$faker->lastName .' | ' .  $faker->email;

许可协议

RealisticFaker 在 MIT 许可协议下发布。有关详细信息,请参阅附带的 LICENSE 文件。