news 2026/6/10 2:21:44

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/9 18:35:16

NPM安装Puppeteer抓取TensorRT官网更新公告

使用 Puppeteer 自动化监控 TensorRT 官方更新 在 AI 推理日益成为系统性能瓶颈的今天&#xff0c;NVIDIA 的 TensorRT 已然成为高性能深度学习部署的核心工具。它不仅能将训练好的模型压缩、加速&#xff0c;还能针对特定 GPU 架构生成高度优化的推理引擎&#xff0c;广泛应用…

作者头像 李华
网站建设 2026/6/8 19:18:12

Python全局环境和虚拟环境(venv)

在其他地方查看文章&#xff1a;Python全局环境和虚拟环境&#xff08;venv&#xff09; - Liu Zijians Blog - 一个个人博客网站 1.概述 在进行python项目开发时&#xff0c;不同项目可能需要依赖的python版本是不同的&#xff0c;有时电脑上需要安装好几个不同版本的python解…

作者头像 李华
网站建设 2026/6/9 2:05:49

Excalidraw:手绘风在线白板神器

Excalidraw&#xff1a;当手绘风遇上数字协作&#xff0c;技术人的理想白板长什么样&#xff1f; 你有没有过这样的经历&#xff1a;在远程会议中想快速画个架构草图&#xff0c;打开PPT却发现排版耗时比内容还久&#xff1b;或是用Figma做原型时被复杂的图层和组件搞得头大&a…

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

LobeChat能否支持多轮谈判?复杂决策模拟

LobeChat 能否支持多轮谈判与复杂决策模拟&#xff1f; 在企业智能对话系统日益复杂的今天&#xff0c;用户早已不满足于“问一句答一句”的机械交互。他们期待 AI 能够真正参与薪资谈判、合同协商、商业推演这类需要长期记忆、角色代入和动态决策的高阶任务。这背后考验的不仅…

作者头像 李华
网站建设 2026/6/9 13:46:37

UnityRenderStreaming内网转发到公网

1、coturn 前文已编译好了coturn https://xue-fei.blog.csdn.net/article/details/155945401 配置文件 turnserver.conf # 监听地址和端口 listening-port3478 tls-listening-port5349 listening-ip0.0.0.0# 你的公网 IP&#xff08;必须&#xff01;用于 NAT 穿透&#xff0…

作者头像 李华