安装

在laravel中已经自动集成,无需手动安装。如需在其他地方使用,可使用以下命令进行安装。

composer require fzaninotto/faker

为Faker指定中文支持

可通过在 config/app.php 增加如下配置使其支持中文:

'faker_locale' => 'zh_CN',

基本用法

Formatters 格式化器

Faker\Provider\Base 基本

$randomDigit = $faker->randomDigit;//生成0-9之间的随机数
$randomDigitNotNull = $faker->randomDigitNotNull;//生成1-9之间的随机数
$randomNumber = $faker->randomNumber(5, true);//生成5位整数,true表示严格模式,即只能5位
$randomFloat = $faker->randomFloat(2, 0, 10);//生成浮点数,两位小数点,范围是0-10之间
$numberBetween = $faker->numberBetween(0, 100);//生成随机整数,范围是0-100之间
$randomLetter = $faker->randomLetter;//返回a-z之间任意的一个小写字符
$randomElements = $faker->randomElements(['a', 'b', 'c', 'd'], 2);//返回数组中的随机两个元素
$randomElement = $faker->randomElement(['aa', 'bb', 'cc', 'dd']);//随机返回数组中的一个元素
$suffle = $faker->shuffle('hello, world'); //将字串中的字符打乱返回
$suffle = $faker->shuffle(['aa', 'bb', 'cc', 'dd']); //将数组中的元素打乱返回
$numerify = $faker->numerify('Hello #####');//#####替换为随机数字,输出类似:Hello 03501
$lexify = $faker->lexify('Hello ???');//???替换为3个随机小写字符,输出类似:Hello krg
$bothify = $faker->bothify('hello ##??');//#替换为随机数字,?替换为随机小写字符.输出类似:hello 15cr
$asciify = $faker->asciify('hello *****');//*替换为随机字符,输出类似:hello 5Ynt[
$regexify = $faker->regexify('[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}');//根据正则表达式返回字串

Faker\Provider\Lorem 文本

$word = $faker->word;//返回一个单词
$words = $faker->words(3, false);//返回3个单词,false表示返回一个数组;true表示返回一个字符串,单词之间用空格分开
$sentence = $faker->sentence(5, true);//返回一个句子,false表示只能含有5个单词,true表示可以在5个单词左右
$sentences = $faker->sentences(3, false);//返回3条句子,false表示返回一个数组,true表示将三条句子拼成一条返回
$paragraph = $faker->paragraph(3, true);//返回一个段落,由3条句子组成。false表示只能有3条句子,true表示可以在3条句子左右
$paragraphs = $faker->paragraphs(4, false);//返回4个段落。false表示返回一个数组,true表示将段落拼接在一起,并且用换行符分割
$text = $faker->text(200);//返回一段文本,最多只能含有200个字符

Faker\Provider\en_US\Person 人物

$title = $faker->title('female');//参数:title($gender = null|'male'|'female') .返回称呼。例如:Mrs.|Prof.|Dr.
$titleMale = $faker->titleMale;//返回男性称呼
$titleFemale = $faker->titleFemale;//返回女性称呼
$name = $faker->name('female');//参数:name($gender = null|'male'|'female') .返回姓名
$firstName = $faker->firstName('female');//参数:firstName($gender = null|'male'|'female') .返回名
$firstNameMale = $faker->firstNameMale;//男性名字
$firstNameFemale = $faker->firstNameFemale;//女性名字
$lastName = $faker->lastName;//姓

Faker\Provider\en_US\Address  地址

$cityPrefix = $faker->cityPrefix;//城市前缀.如:Lake
$secondaryAddress = $faker->secondaryAddress;//二级地址.如:Suite 061
$state = $faker->state;//州、省(如:Colorado、四川省)
$stateAbbr = $faker->stateAbbr;//省份简称.如:晋、蒙、浙、冀
$citySuffix = $faker->citySuffix;//城市后缀.如:side、land、port、Ville
$streetSuffix = $faker->streetSuffix;//街道后缀.如:Ramp、Plains
$buildingNumber = $faker->buildingNumber;//建筑物编号
$city = $faker->city;//城市
$streetName = $faker->streetName;//街道名称
$streetAddress = $faker->streetAddress;//街道地址
$postcode = $faker->postcode;//邮政编码
$address = $faker->address;//地址(城市+区)
$country = $faker->country;//国家
$latitude = $faker->latitude;//纬度 latitude($min = -90, $max = 90)
$longitude = $faker->longitude;//经度 longitude($min = -180, $max = 180)

Faker\Provider\en_US\PhoneNumber 电话号码

$phoneNumber = $faker->phoneNumber;//手机号码
$tollFreePhoneNumber = $faker->tollFreePhoneNumber;
$e164PhoneNumber = $faker->e164PhoneNumber;

Faker\Provider\en_US\Company 公司

$catchPhrase = $faker->catchPhrase;//口号
$bs = $faker->bs;
$company = $faker->company;//公司名称
$companySuffix = $faker->companySuffix;//公司名称后缀
$jobTitle = $faker->jobTitle;//职称

Faker\Provider\en_US\Text 文本

$realText = $faker->realText();//一段叙事文本

Faker\Provider\DateTime 日期时间

$unixTime = $faker->unixTime;//返回随机时间戳
$unixTime = $faker->unixTime('now');//返回随机时间戳 可选最后截止时间
$dateTime = $faker->dateTime;//返回一个随机的DateTime对象
$dateTime = $faker->dateTime('now', 'PRC');//返回一个随机的DateTime对象,可选择最后截止时间和时区
$dateTimeAD = $faker->dateTimeAD;//返回一个随机的DateTime对象
$dateTimeAD = $faker->dateTimeAD('now', 'PRC');//返回一个随机的DateTime对象,可选择最后截止时间和时区
$iso8601 = $faker->iso8601;//返回一个随机的字符串形式的时间
$iso8601 = $faker->iso8601('now');//返回一个随机的字符串形式的时间,可选择最后截止时间
$date = $faker->date("Y-m-d H:i:s", 'now');//指定格式返回时间,可选择最后截止时间
$time = $faker->time('Y-m-d H:i:s', 'now');//(同上)指定格式返回时间,可选择最后截止时间
$dateTimeBetween = $faker->dateTimeBetween('2019-01-01', 'now', 'PRC');//返回指定时间区间的DateTime对象,可选时区
$dateTimeInInterval = $faker->dateTimeInInterval('-5 years', '+5 days', 'PRC');//返回指定时间区间的DateTime对象,可选时区(第一个参数:开始时间,第二个参数:时间范围)
$dateTimeThisCentury = $faker->dateTimeThisCentury;//返回一个本世纪内的DateTime对象
$dateTimeThisCentury = $faker->dateTimeThisCentury('1950-01-01', 'PRC');//返回一个本世纪内的DateTime对象.指定截止时间和时区
$dateTimeThisDecade = $faker->dateTimeThisDecade;//返回一个前十年内的DateTime对象
$dateTimeThisDecade = $faker->dateTimeThisDecade('2015-01-01', 'PRC');//返回一个前十年内的DateTime对象.指定允许的最后时间和时区
$dateTimeThisYear = $faker->dateTimeThisYear;//返回一个前一年内的DateTime对象
$dateTimeThisYear = $faker->dateTimeThisYear('now', 'PRC');//返回一个前一年内的DateTime对象.指定允许的最后时间和时区
$dateTimeThisMonth = $faker->dateTimeThisMonth;//返回一个前一个月内的DateTime对象
$dateTimeThisMonth = $faker->dateTimeThisMonth('-15 days', 'PRC');//返回一个前一个月内的DateTime对象.指定允许的最后时间和时区
$amPm = $faker->amPm;//上午/下午
$dayOfMonth = $faker->dayOfMonth;//返回几号
$dayOfWeek = $faker->dayOfWeek;//返回星期几
$month = $faker->month;//返回月份
$monthName = $faker->monthName;//返回月份名称
$year = $faker->year;//返回年份
$year = $faker->year('2000-01-01');//返回年份.可指定最后截止日期
$timezone = $faker->timezone;//返回时区

Faker\Provider\Internet 互联网

$email = $faker->email;//返回一个随机邮箱
$safeEmail = $faker->safeEmail;//返回一个以@example.com结尾的安全邮箱
$freeEmail = $faker->freeEmail;//返回一个随机邮箱
$companyEmail = $faker->companyEmail;//返回企业邮箱(中文语言包下不可用)
$freeEmailDomain = $faker->freeEmailDomain;//返回一个邮件域名
$safeEmailDomain = $faker->safeEmailDomain;//返回安全的邮件域名
$userName = $faker->userName;//用户名
$password = $faker->password;//密码
$domainName = $faker->domainName;//域名(中文语言包下不可用)
$domainWord = $faker->domainWord;//不带后缀的域名(中文语言包下不可用)
$tld = $faker->tld;//域名后缀:如com、org(中文语言包下不可用)
$url = $faker->url;//返回一个随机url(中文语言包下不可用)
$slug = $faker->slug;
$ipv4 = $faker->ipv4;//返回一个ipv4地址
$ipv6 = $faker->ipv6;//返回一个ipv6地址
$localIpv4 = $faker->localIpv4;
$macAddress = $faker->macAddress;//mac地址

Faker\Provider\UserAgent 用户代理

$userAgent = $faker->userAgent;//返回一个随机的用户代理信息
$chrome = $faker->chrome;//返回一个chrome浏览器的用户代理信息
$firefox = $faker->firefox;//返回一个firefox浏览器的用户代理信息
$safari = $faker->safari;//返回一个safari浏览器的用户代理信息
$opera = $faker->opera;//返回一个opera浏览器的用户代理信息
$internetExplorer = $faker->internetExplorer;//返回一个internetExplorer浏览器的用户代理信息

Faker\Provider\Payment 支付

$creditCardType = $faker->creditCardType;//信用卡类型
$creditCardNumber = $faker->creditCardNumber;//信用卡号
$creditCardExpirationDate = $faker->creditCardExpirationDate;//信用卡到期日 (DateTime对象)
$creditCardExpirationDateString = $faker->creditCardExpirationDateString;//信用卡到期日期字符串
$creditCardDetails = $faker->creditCardDetails;//信用卡详情(数组)
$swiftBicNumber = $faker->swiftBicNumber;
$iban = $faker->iban;//国际银行账户

Faker\Provider\Color 颜色

$hexcolor = $faker->hexcolor;//十六进制的随机色:'#fa3cc2'
$rgbcolor = $faker->rgbcolor;//RGB格式的随机色(字串形式):'0,255,122'
$rgbColorAsArray = $faker->rgbColorAsArray;//RGB格式的随机色(数组形式):array(0,255,122)
$rgbCssColor = $faker->rgbCssColor;//RGB格式的随机色的css表示:'rgb(0,255,122)'
$safeColorName = $faker->safeColorName;//一个安全的随机色名称
$colorName = $faker->colorName;//随机色名称

Faker\Provider\File 文件

$fileExtension = $faker->fileExtension;//文件后缀
$mimeType = $faker->mimeType;//mime类型
// 将一个随机文件从源文件复制到目标目录,并返回fullpath
$file = $faker->file($sourceDir = './up1', $targetDir = './up2');
// 将一个随机文件从源文件复制到目标目录,并返回basename
$file = $faker->file($sourceDir = './up1', $targetDir = './up2', false);

Faker\Provider\Image 图片

$imageUrl = $faker->imageUrl();//https://lorempixel.com/640/480/?93028
$imageUrl = $faker->imageUrl(320, 320, 'cats');//https://lorempixel.com/320/320/cats/?68416
$imageUrl = $faker->imageUrl(320, 320, 'cats', true, 'Faker');//https://lorempixel.com/320/320/cats/Faker/?68118
$imageUrl = $faker->imageUrl(320, 320, 'cats', true, 'Faker', true);//https://lorempixel.com/gray/320/320/cats/Faker/?28732 //生成图片并保存到本地 '/tmp/13b73edae8443990be1aa8f1a483bc27.jpg'
$image = $faker->image('./tmp', 320, 320);
//设置类别并生成图片保存到本地 'tmp/13b73edae8443990be1aa8f1a483bc27.jpg'
$image = $faker->image('./tmp', 320, 320, 'cats');
//设置类别并生成图片保存到本地,只返回文件名 '13b73edae8443990be1aa8f1a483bc27.jpg'
$image = $faker->image('./tmp', 320, 320, 'cats', false);
// 生成没有随机化的图像
$image = $faker->image('./tmp', 320, 320, 'cats', true, false);
//生成图片并加上水印字体 'tmp/13b73edae8443990be1aa8f1a483bc27.jpg'
$image = $faker->image('./tmp', 320, 320, 'cats', true, true, 'Faker');

Faker\Provider\Uuid UUID

$uuid = $faker->uuid;//生成一个uuid

Faker\Provider\Barcode 条形码

$ean13 = $faker->ean13;//
$ean8 = $faker->ean8;//
$isbn13 = $faker->isbn13;//
$isbn10 = $faker->isbn10;//

Faker\Provider\Miscellaneous 各种各样的

$boolean = $faker->boolean;//生成一个布尔值
$md5 = $faker->md5;//生成一个md5码
$sha1 = $faker->sha1;//生成一个sha1
$sha256 = $faker->sha256;//生成一个sha256
$locale = $faker->locale;//生成一个地区编码:如zh_CN
$countryCode = $faker->countryCode;//生成一个国家编码。如:UK
$languageCode = $faker->languageCode;//生成一个语言编码.如:en
$currencyCode = $faker->currencyCode;//生成一个货币代码.如:EUR
$emoji = $faker->emoji;//生成一个emoji表情

Faker\Provider\Biased 偏向的

//得到10到20之间的随机数,并且更多机会接近20
$biasedNumberBetween = $faker->biasedNumberBetween($min = 10, $max = 20, $function = 'sqrt');

Faker\Provider\HtmlLorem html文本

//生成不超过2级深度的HTML文档,并且在任何级别上都不超过3个元素。
$randomHtml = $faker->randomHtml(2, 3);

Language specific formatters 特定于语言的格式器

Faker\Provider\zh_CN\Payment

// 生成一个随机的银行名称(基于真实的中国银行的列表)
echo $faker->bank; // '中国建设银行'

Faker\Provider\zh_TW\Person

// Generates a random personal identify number
echo $faker->personalIdentityNumber; // A223456789

Faker\Provider\zh_TW\Company

// Generates a random VAT / Company Tax number
echo $faker->VAT; //

参考

更多用法参考官方文档:https://github.com/fzaninotto/Faker

           https://packagist.org/packages/fzaninotto/faker

【Laravel 】faker数据填充详解的更多相关文章

  1. faker数据填充详解

    安装 在laravel中已经自动集成,无需手动安装.如需在其他地方使用,可使用以下命令进行安装. composer require fzaninotto/faker 为Faker指定中文支持 可通过在 ...

  2. ContentProvider数据访问详解

    ContentProvider数据访问详解 Android官方指出的数据存储方式总共有五种:Shared Preferences.网络存储.文件存储.外储存储.SQLite,这些存储方式一般都只是在一 ...

  3. 【HANA系列】SAP HANA XS使用JavaScript数据交互详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...

  4. JVM 运行时数据区详解

    一.运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域. 1.有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,所有的线程共享这些数据区. 2.第二种则 ...

  5. 学习《深度学习与计算机视觉算法原理框架应用》《大数据架构详解从数据获取到深度学习》PDF代码

    <深度学习与计算机视觉 算法原理.框架应用>全书共13章,分为2篇,第1篇基础知识,第2篇实例精讲.用通俗易懂的文字表达公式背后的原理,实例部分提供了一些工具,很实用. <大数据架构 ...

  6. 【HANA系列】【第一篇】SAP HANA XS使用JavaScript数据交互详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第一篇]SAP HANA XS ...

  7. 3dTiles 数据规范详解[1] 介绍

    版权:转载请带原地址.https://www.cnblogs.com/onsummer/p/12799366.html @秋意正寒 Web中的三维 html5和webgl技术使得浏览器三维变成了可能. ...

  8. [jvm]运行时数据区域详解

    了解虚拟机是怎么使用内存的,有助于我们解决和排查内存泄漏和溢出方面的问题.详解java虚拟机内存的各个区域,分析这些区域的作用服务对象以及可能发生的问题. 一.运行时数据区域 java虚拟机在执行ja ...

  9. HTTP数据包详解

     无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看. 阅读目录 ...

随机推荐

  1. 新手安装配置git简洁教程

    第一步,下载安装git 打开 [git官网] https://git-scm.com/,下载git对应操作系统的版本. 所有东西下载慢的话就可以去找镜像!官网下载太慢,我们可以使用淘宝镜像下载:htt ...

  2. win10提示“无法设置移动热点 请打开WLAN”的解决方法

    一位用户在使用Win10创意者操作系统过程中,遇到了无法开启移动热点的情况,开关呈灰色状态,而且提示:无法设置移动热点 请打开WLAN,该如何解决呢?该用户表示Wlan一直开着呀,感觉非常奇怪.接下来 ...

  3. IDEA中文注释难看的简单解决办法

    好多人会发现IDEA这款集成开发工具的中文(主要是在注释上面)显示都比较难看,如下面: 都以为是字体的原因,于是各种替换字体,麻烦不说,还容易造成乱码的问题. 真正难看的原因并不是字体,而是以为是斜体 ...

  4. js统计字符

    问题:    var str1 = "abcdabcabcaabeeeeeee";     var str2 = "fhjdiovjdasklgudsaklfgdaskl ...

  5. 错误记录-MySql.Data.MySqlClient.MySqlException (0x80004005): Timeout expired.

    -- ::25.026 +: [ERR] Connection id "0HLQH64H76UL5", Request id "0HLQH64H76UL5:0000000 ...

  6. 树莓派搭建Nexus2私服

    使用树莓派搭建Nexus2私服需要的材料有: 树莓派3B+(或者4B) 移动硬盘一个 1. 下载nexus2.x安装包 由于nexus2.x官方的启动环境并不支持arm架构的树莓派,所以这里采用tom ...

  7. VMware Workstation安装centos

    begin 2020年7月4日16:32:34 今天我们是食神,来做一道菜,名曰VMware Workstation安装centos. 首先我们需要准备好锅和食材. 锅和食材 锅:VMware Wor ...

  8. 有点愧疚,今天把unity官方骗了...

    今天下午2点,突然给我发了一封邮件说我违规: Unity Technologies Hello, Your Account: *@*.net has been suspended and you ca ...

  9. Node js 入门指南(1)

    目录 Node Js 定义 特点 Node使用方式 Tip: 使用导出文件的注意事项 Node 内置模块 http 模块 定义 使用方法 fs 模块 定义 使用方法 读取文件方式 同步读取 异步读取 ...

  10. electron自定义最小化,最大化和关闭按钮

    Electron ipcRenderer 模块 ipcRenderer 模块是一个 EventEmitter 类的实例. 它提供了有限的方法,你可以从渲染进程向主进程发送同步或异步消息. 也可以收到主 ...