faker php测试数据库生成2
因内容太长,被csdn截断了,只好把另外的内容写到这里。
//Biased
// 在10到20之间得到一个随机数字,有更大的几率接近20
echo $faker->biasedNumberBetween($min = 10, $max = 20, $function = 'sqrt'),'<br>';
echo '<hr>';
//HtmlLorem
//生成不超过2个级别的HTML文档,在任何级别上不超过3个元素。
echo $faker->randomHtml(2,3),'<br>';
echo '<hr>';
三个特别的修饰方法:
//提供了三个特殊的修饰方法,unique(),optional(),和valid(),被任何provider之前调用。
//unique()强制提供者返回唯一值,当没有新的唯一值可以生成时,抛出异常
//加入$reset = true,会自动加前缀,避免异常
$values = array();
for($i = 0; $i < 15; $i++){
$values [] = $faker -> unique($reset = true) -> randomDigit;
}
print_r($values);
//optional()有时会绕过提供程序而返回默认值(默认为NULL)
$values = array();
for ($i=0; $i < 10; $i++) {
$values []= $faker->optional()->randomDigit;
}
var_dump($values); // [1, 4, null, 9, 5, null, null, 4, 6, null]
// optional()接受权重参数以指定接收默认值的概率。
// 0将始终返回默认值; 1将始终返回提供者。默认权重为0.5(50%几率)。
$faker->optional($weight = 0.1)->randomDigit; // 90% 的可能性为 NULL
$faker->optional($weight = 0.9)->randomDigit; // 10% 的可能性为 NULL
//optional()接受默认参数以指定要返回的默认值。
$faker->optional($weight = 0.5, $default = false)->randomDigit; // 50% 的可能性为 FALSE
$faker->optional($weight = 0.9, $default = 'abc')->word; // 10% 的可能性为 'abc'
//passthrough()只返回指定的任何值。
$faker->optional()->passthrough(mt_rand(5, 15));
//valid()仅根据传递的验证函数接受有效值
$values = array();
$evenValidator = function($digit) {
return $digit % 2 === 0; //是偶数才返回
};
for($i=0; $i < 10; $i++) {
$values []= $faker->valid($evenValidator)->randomDigit;
}
print_r($values); // [0, 4, 8, 4, 2, 6, 0, 8, 8, 6]
//就像unique(),valid()在无法生成有效值时抛出溢出异常
$values = array();
try {
//$faker->valid($evenValidator)->randomElement(1, 3, 5, 7, 9);
} catch (\OverflowException $e) {
echo "Can't pick an even number in that set!";
}
使用自己的数据
在faker->src->Faker->Provider->zh_CN文件夹下新建My.php
参考系统自带的数据格式编写,My.php内容如下:
<?php
namespace Faker\Provider\zh_CN;
class My extends \Faker\Provider\Base
{
protected static $mySite = array(
'www.aaa.com',
'www.bbb.com',
'www.ccc.com',
'www.ddd.com'
);
public function mySite()
{
return static::randomElement(static::$mySite);
}
}
在项目中的使用:
//调用自定义的内容先要加入
$faker -> addProvider(new \Faker\provider\zh_CN\My($faker));
echo $faker->mySite;
faker php测试数据库生成2的更多相关文章
- faker php测试数据库生成
官方地址:https://github.com/fzaninotto/Faker 使用方式: 1.composer直接下载: composer require fzaninotto/faker 2.将 ...
- python+Django+test 测试数据库生成报错
前提: 使用Django自带的test进行单元测试. 问题描述: 运行:python manage.py test,报错,出现数据库乱码的现象,报错如下: Creating test database ...
- 快速生成500W测试数据库
快速生成500W测试数据库: 创建测试表: DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(10) NOT NULL AUTO_ ...
- 【转】Visual Studio 2010在数据库生成随机测数据
测试在项目中是很重要的一个环节,在Visual Studio 2010中,在测试方面已经有很好的支持了,比如有单元测试,负载测试等等.在数据测试的方面,Visual Studio 2010,还支持对数 ...
- .NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发
上篇给大家从零开始搭建了一个我们的ASP.NET Core CMS系统的开发框架,具体为什么那样设计我也已经在第十篇文章中进行了说明.不过文章发布后很多人都说了这样的分层不是很合理,什么数据库实体应该 ...
- 使用benchmarkSQL测试数据库的TPCC
压力测试是指在MySQL上线前,需要进行大量的压力测试,从而达到交付的标准.压力测试不仅可以测试MySQL服务的稳定性,还可以测试出MySQL和系统的瓶颈. TPCC测试:Transaction Pr ...
- MySQL数据库生成数据库说明文档
在半年多前为一个MySQL数据库生成过数据库说明文档,今天要重新生成一份,但是发现完全不记得当时是怎么生成的,只能在网上搜索重来一遍,所以今天特意把这个过程记录一下. 一.安装 使用MySQL数据库表 ...
- Rafy 框架 - 为数据库生成注释
当开发者使用 CodeFirst 开发模式,编写了大量的实体类,在代码中编写了完整的类型注释和属性注释,并自动生成数据库后,往往需要把实体类型和实体属性上的注释同时生成到对应的数据库表及字段上.这样, ...
- Asp.Net MVC 从数据库生成代码(包括页面)
项目需要,数据库已经设计完成,需要生成相关的数据访问代码和页面. 参考:http://www.tracefact.net/asp-net/aspnetmvc-model-part1.aspx http ...
随机推荐
- python---redis管道(事务)和发布订阅
管道:将数据操作放在内存中,只有成功后,才会一次性全部放入redis #管道(事务),要是都成功则成功,失败一个全部失败 #原理:将数据操作放在内存中,只有成功后,才会一次性全部放入redis pip ...
- Git error: hint: Updates were rejected because the remote contains work that you do hint: not have locally
hint: Updates were rejected because the remote contains work that you dohint: not have locally. This ...
- Splay模板讲解及一些题目
普通平衡树模板以及文艺平衡树模板链接. 简介 平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二 ...
- li分两列显示
只要控制了li的宽度,利用浮动就能实现<style type="text/css"> .my ul { width: 210px; } .my li { width: ...
- JavaScript模拟QQ签名(HTML5 contenteditable属性)
例图: 一.思路 1.单击元素时,使元素可以编辑,并获得焦点 2.按下键盘检测用户编辑元素中的文本 3.监听按下Enter键操作或离开可编辑元素焦点时,更新数据库 二.代码 $(function(){ ...
- caoha
- springboot整合rabbitmq客户端连接报超时异常问题解决:An unexpected connection driver error occured java.net.SocketException: Socket Closed,java.util.concurrent.TimeoutException
我用的是springboot2.0.6版本,对应的ampq也是2.0.6版本,然后启动一直报: 还有java.util.concurrent.TimeoutException, 用户授权什么的都对,很 ...
- Windows修改默认远程端口号3389
1.打开注册表:运行-regedit: 2.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\ ...
- find查找时排除目录及文件
查找根目录下大于500M的文件,排除/proc目录 find / ! -path "/proc/*" -type f -size +500M | sort -rh|xargs ls ...
- PGP工作原理及其安全体制
现代信息社会里,当电子邮件广受欢迎的同时,其安全性问题也很突出.实际上,电子邮件的传递过程是邮件在网络上反复复制的过程,其网络传输路径不确定,很容易遭到不明身份者的窃取.篡改.冒用甚至恶意破坏,给收发 ...