`
xieye
  • 浏览: 842754 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Faker:php随机数据产生类库

    博客分类:
  • PHP
阅读更多
今日:2017-07-29
Faker:一个php类库,使用起来也是极其简单。
该类库主要作用是:一个数据库刚建立后,希望给里面插入一些随机数据,便于测试。有时也可以用于单元测试,利用随机种子固定的函数,具体参加官网:https://github.com/fzaninotto/Faker


随机生成的广告语非常有趣哦。

composer安装:放在require中亦可,随意吧。
"require-dev": {
        "fzaninotto/faker":"1.6.0"
}


demo:
<?php
// 需根据本机的autoload.php位置修改
require __DIR__ . "/../vendor/autoload.php";

$faker = Faker\Factory::create ( "zh_CN" );//中文语种

//临时性屏蔽警告,必须的。
$ini_get_display_errors = ini_get("display_errors");
 ini_set('display_errors', 0);
echo <<<html
[list=1]
		[*]需同代码一样临时屏蔽警告信息,函数结束后再打开
		[*]注意每项都是单独的,和其他项无关联。所以地理位置那里貌似看起来不合理
		[*]本页面执行时间长,是因为调太多项,少的话很快
		[*]类库还有一些额外功能,例如确保不重复结果,关联orm等,但都不太重要
		[*]官网:https://github.com/fzaninotto/Faker
[/list]
html;

foreach ( range ( 1, 2 ) as $v ) {
	$arr = [ 
			// 个人信息
			'姓名 name' => $faker->name,
			'姓 lastName' => $faker->lastName,
			'名 firstName' => $faker->firstName,
			'手机 mobile' => $faker->phoneNumber,
			'信用卡信息数组 creditCardDetails'=> $faker->creditCardDetails,
			
			// 地理位置
			'纬度 latitude' =>$faker->latitude, 
			'经度 longitude' =>$faker->longitude,
			'国家 country' => $faker->country,
			'国家代码 countryCode' => $faker->countryCode,
			'邮政编码:postcode'=> $faker->postcode,
			'地址 address' => $faker->address,
			'城市 city' => $faker->city,
			'省 state'=> $faker->state,
			'省简称 stateAbbr' =>$faker->stateAbbr,
			
			// 公司,银行,广告语
			'公司后缀 companySuffix'=> $faker->companySuffix,
			'公司 company'=> $faker->company,
			'银行 bank' => $faker->bank,
 			'广告语 catchPhrase'=>$faker->catchPhrase,
			
			// 时间
			'unixTime' => $faker->unixTime,
			'year' => $faker->year,
			'month' => $faker->month,
			'dayOfMonth'=> $faker->dayOfMonth,
			'date' =>$faker->date,
			'time' =>$faker->time,
			
			//互联网
			'domainName' => $faker->domainName,
			'companyEmail' => $faker->companyEmail,
			'email' => $faker->email,
			'userName' => $faker->userName,
			'password' => $faker->password,
			'url' => $faker->url,
			'ipv4' => $faker->ipv4,
			'ipv6' => $faker->ipv6,
			'localIpv4' => $faker->localIpv4,
			'macAddress' => $faker->macAddress,
			'userAgent' => $faker->userAgent,
			
			// 杂项
			'罗马数字century' => $faker->century,
			'颜色hexcolor' =>$faker->hexcolor,
			'mimeType'=>$faker->mimeType,
			'文件后缀fileExtension'=>$faker->fileExtension,
			'img' => $faker->image,
			'imgurl' => $faker->imageUrl,
			'uuid'	 => $faker->uuid,
			'sha1' => $faker->sha1,
			'sha256' => $faker->sha256,
			'md5'=> $faker->md5,
			
			//文本内容
			'单词 word' => $faker->word,
			'单词 words' => $faker->words ( 5, true ),
			'短标题 sentence' => $faker->sentence,
			'内容 content' => $faker->text ( 500 ) ,
			'内容 realText' => $faker->realText(100),
	];
	
	echo "<pre>". var_export ( $arr,1 )."</pre>";
}
ini_set('display_errors', $ini_get_display_errors);


浏览器部分输出:

    需同代码一样临时屏蔽警告信息,函数结束后再打开
    注意每项都是单独的,和其他项无关联。所以类似地理位置那里貌似看起来不合理
    本页面执行时间长,是因为调太多项,少的话很快
    类库还有一些额外功能,例如确保不重复结果,关联orm等,但都不太重要
    官网:https://github.com/fzaninotto/Faker

array (
  '姓名 name' => '柏淑兰',
  '姓 lastName' => '黎',
  '名 firstName' => '文彬',
  '手机 mobile' => '17763733071',
  '信用卡信息数组 creditCardDetails' => 
  array (
    'type' => 'MasterCard',
    'number' => '5379265658600441',
    'name' => '都晶',
    'expirationDate' => '07/20',
  ),
  '纬度 latitude' => 87.766043999999993729943525977432727813720703125,
  '经度 longitude' => 152.631833000000000311047188006341457366943359375,
  '国家 country' => '夏威夷',
  '国家代码 countryCode' => 'WF',
  '邮政编码:postcode' => '597100',
  '地址 address' => '兰州西夏区',
  '城市 city' => '上海',
  '省 state' => '广东省',
  '省简称 stateAbbr' => '蒙',
  '公司后缀 companySuffix' => '网络有限公司',
  '公司 company' => '易动力信息有限公司',
  '银行 bank' => '中国银行',
  '广告语 catchPhrase' => '时间改变一切',
  'unixTime' => 385724385,
  'year' => '1998',
  'month' => '04',
  'dayOfMonth' => '23',
  'date' => '1980-06-03',
  'time' => '07:29:14',
  'domainName' => '.com',
  'companyEmail' => 'quia11@.com.cn',
  'email' => 'odio82@yahoo.com',
  'userName' => 'jasperiores',
  'password' => 'PF@/=SrrUe\'dH5@$',
  'url' => 'http://www..com/recusandae-asperiores-ut-odit-fugiat',
  'ipv4' => '89.254.9.179',
  'ipv6' => '4371:6dd6:6c18:a49a:33bf:892b:63f2:30ab',
  'localIpv4' => '0.0.0.0',
  'macAddress' => '83:F5:2D:41:9E:88',
  'userAgent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/5321 (KHTML, like Gecko) Chrome/39.0.861.0 Mobile Safari/5321',
  '罗马数字century' => 'XIX',
  '颜色hexcolor' => '#cea81a',
  'mimeType' => 'application/x-shockwave-flash',
  '文件后缀fileExtension' => 'au',
  'img' => 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\52cc122599dc7789625212ef2d4086a3.jpg',
  'imgurl' => 'http://lorempixel.com/640/480/?47204',
  'uuid' => '591ad5c7-e029-325c-b536-e4c887afdbca',
  'sha1' => '03cf39e07dd8a832781f0d6fa84cfb0342ab4db7',
  'sha256' => 'f6e376ae06e9d140d1c44cb454cfbb60840b5d8022a3bb6e5cd6bcf5b9693abe',
  'md5' => '6d802d4d33d38ce1023b179b4028a6e1',
  '单词 word' => 'cum',
  '单词 words' => 'omnis occaecati quasi eum necessitatibus',
  '短标题 sentence' => 'Optio laudantium quae quibusdam culpa eligendi.',
  '内容 content' => 'Inventore commodi facere blanditiis similique. Aut velit saepe dolorem quaerat possimus nam eligendi. Ut quo illum ipsum blanditiis.
Perspiciatis corrupti nulla corporis totam modi repellat doloribus. Aut ea et cumque debitis rerum aut. Tenetur eveniet sint voluptas totam. Voluptatibus delectus distinctio vel rerum dolores.
Corporis quod explicabo repellendus quia repellendus. Quis rerum corporis modi eveniet temporibus saepe.',
  '内容 realText' => 'King. The White Rabbit blew three blasts on the floor, and a crash of broken glass, from which she.',
)


亲自试一试,才知道广告语的有趣!感谢把汉语加入到faker类库的人!
0
0
分享到:
评论

相关推荐

    Faker:一个生成假象数据的PHP类库

    Faker是一个非常实用的PHP类库,它的主要功能是生成各种模拟数据,这对于开发过程中的多种场景都非常有用。这个库的名字"Faker"来源于其核心功能——伪造(fake)数据,帮助开发者快速填充测试数据或者创建演示示例...

    伪数据PHP生成库.zip

    Faker库由Philippe Bossart和Nikita Konstantinov共同维护,它提供了一种灵活的方式来生成各种类型的数据,包括但不限于姓名、地址、电话号码、电子邮件地址、日期、货币值、甚至随机文本等。这个库包含了许多预定义...

    PHP生成复杂数据的库.zip

    在PHP编程中,生成复杂数据是一项常见的任务,特别是在测试、数据分析和模拟真实世界场景时。...同时,由于数据是根据预设规则随机生成的,因此每个测试运行都可能产生不同的结果,有助于发现潜在的问题和边缘情况。

    Laravel开发-packagetest

    - **Faker**:对于需要随机数据的测试,可以引入Faker库生成假数据,避免实际数据库操作对测试的影响。 4. **发布和集成**: - **Packagist**:将你的包推送到Packagist,这是Composer的官方包仓库,使得其他...

    laravel-fake

    在这个例子中,`Faker` 类库被用来生成随机的名字、安全邮箱等。`$faker-&gt;unique()-&gt;safeEmail` 确保生成的邮箱地址是唯一的。`$factory-&gt;define()` 方法定义了 `User` 模型的工厂,我们可以调用 `factory(User::...

Global site tag (gtag.js) - Google Analytics