news 2026/6/15 15:09:25

webman框架虚拟数据填充fakerphp/faker插件的使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
webman框架虚拟数据填充fakerphp/faker插件的使用

一、使用背景
作为一名研发人员,想要批量制造一些测试数据,无论是自己测试,还是方便测试同学,都是有益的。fakerphp/faker插件可满足你的一些需求,它可以生成接近真实数据的一些虚拟数据,带来的体验感更好。

二、插件安装
参考Packagist插件市场:
在终端执行命令,并且可以指定对应的版本,选择不同的版本需要注意不同版本对php版本的要求:

插件安装完毕,查看扩展包目录:

三、框架内使用
webman框架可以自定义终端命令,执行如下:

app/Command下生成目录文件:

四、代码展示

引入安装的扩展库Faker\Factory,创建生成器实例,即可使用插件的属性如name,address,email,phoneNumber等等,在for循环里制定生成的数据个数
<?phpnamespaceapp\command;useapp\model\OrderCopy;useFaker\Factory;useSymfony\Component\Console\Command\Command;useSymfony\Component\Console\Input\InputInterface;useSymfony\Component\Console\Input\InputArgument;useSymfony\Component\Console\Output\OutputInterface;classFakeDataCreateextendsCommand{protectedstaticstring$defaultName='fakeData:create';protectedstaticstring$defaultDescription='fakeData create';/** * @return void */protectedfunctionconfigure():void{$this->addArgument('name',InputArgument::OPTIONAL,'Name description');}/** * @param InputInterface $input * @param OutputInterface $output * @return int */protectedfunctionexecute(InputInterface$input,OutputInterface$output):int{$output->writeln('start fakeData:create');$faker=Factory::create('zh_CN');// 创建生成器实例$users=[];for($i=0;$i<100;$i++){$users[]=['school_id'=>1,'canteen_id'=>2,'stall_id'=>9,'user_name'=>$faker->name,'email'=>$faker->unique()->email,'address'=>$faker->address(),'mobile'=>$faker->phoneNumber,'sn'=>'MO'.date('YmdHis',time()).$faker->numerify('########'),'amount'=>$faker->randomFloat($nbMaxDecimals=2,$min=0,$max=100),'amount_real'=>$faker->randomFloat(nbMaxDecimals:2,min:0,max:100),];}// 批量插入数据OrderCopy::insert($users);$output->writeln('end fakeData:create');returnself::SUCCESS;}}

五、执行命令

六、查看测试数据

七、总结
相比自己创建的测试数据,还是真实一些,对于后续测试,表查询效率,索引是否生效都有积极的意义。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 17:42:36

基于STM32单片机太阳能路灯台灯锂电池电压电量PWM调光蓝牙无线APP/WiFi无线APP/摄像头视频监控/云平台设计S352

STM32-S352-太阳能USB灯光照锂电池电压电量充电电压自动手动升压声光提醒OLED屏阈值按键(无线方式选择)产品功能描述&#xff1a;本系统由STM32F103C8T6单片机核心板、OLED屏、&#xff08;无线蓝牙/无线WIFI/无线视频监控/联网云平台模块-可选&#xff09;、太阳能电池板、锂电…

作者头像 李华
网站建设 2026/6/15 13:56:30

万物皆可集成系列:低代码如何不成为数据孤岛

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…

作者头像 李华
网站建设 2026/6/14 21:24:05

从零基础到入门实战:我的2025鸿蒙领航者养成记

目录 一、引言&#xff1a;偶然结缘&#xff0c;开启鸿蒙学习之路 二、入门摸索期&#xff1a;踩过的坑与关键突破 三、实战进阶期&#xff1a;第一个鸿蒙小应用诞生 四、社区融入期&#xff1a;从“索取”到“分享”的转变 五、总结&#xff1a;2025成长复盘与未来计划 一…

作者头像 李华
网站建设 2026/6/15 13:30:32

LobeChat能否接入中小学课程?AI普及教育

LobeChat能否接入中小学课程&#xff1f;AI普及教育 在一间普通的初中语文课堂上&#xff0c;老师正引导学生预习《岳阳楼记》。不同于以往逐字翻译的讲解方式&#xff0c;她打开了教室大屏上的一个简洁界面&#xff0c;上传了一段古文PDF&#xff0c;轻点提问&#xff1a;“请…

作者头像 李华
网站建设 2026/6/7 6:43:21

LobeChat能否对接Zapier?低代码自动化流程整合

LobeChat 能否对接 Zapier&#xff1f;一场关于“对话即操作”的低代码实践 在今天的企业数字化场景中&#xff0c;一个越来越常见的需求浮出水面&#xff1a;我们能不能对 AI 说一句话&#xff0c;就让它自动完成一系列跨系统的任务&#xff1f; 比如&#xff0c;在聊天窗口里…

作者头像 李华
网站建设 2026/6/14 22:40:29

Langflow本地部署:解决安装卡顿问题

Langflow本地部署&#xff1a;解决安装卡顿问题 在构建大语言模型应用时&#xff0c;越来越多开发者开始尝试使用可视化工具来提升开发效率。Langflow 就是这样一个备受关注的项目——它为 LangChain 提供了一个直观的图形界面&#xff0c;让开发者可以通过拖拽节点的方式快速…

作者头像 李华