Faker資料填充

Vckin發表於2021-04-29

為Faker指定中文支援

config/app.php 配置支援中文:

'faker_locale' => 'zh_CN',

基本用法

Faker\Provider\Base 基本

$faker->randomDigit;//生成0-9之間的隨機數
$faker->randomDigitNotNull;//生成1-9之間的隨機數
$faker->randomNumber(5, true);//生成5位整數,true表示嚴格模式,即只能5位
 $faker->randomFloat(2, 0, 10);//生成浮點數,兩位小數點,範圍是0-10之間
$faker->numberBetween(0, 100);//生成隨機整數,範圍是0-100之間
$faker->randomLetter;//返回a-z之間任意的一個小寫字元
$faker->randomElements(['a', 'b', 'c', 'd'], 2);//返回陣列中的隨機兩個元素
$faker->randomElement(['aa', 'bb', 'cc', 'dd']);//隨機返回陣列中的一個元素
$faker->shuffle('hello, world'); //將字串中的字元打亂返回
$faker->shuffle(['aa', 'bb', 'cc', 'dd']); //將陣列中的元素打亂返回
$faker->numerify('Hello #####');//#####替換為隨機數字,輸出類似:Hello 03501
$faker->lexify('Hello ???');//???替換為3個隨機小寫字元,輸出類似:Hello krg
$faker->bothify('hello ##??');//#替換為隨機數字,?替換為隨機小寫字元.輸出類似:hello 15cr
$faker->asciify('hello *****');//*替換為隨機字元,輸出類似:hello 5Ynt[
$faker->regexify('[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}');//根據正規表示式返回字串

Faker\Provider\Lorem 文字

$faker->word;//返回一個單詞
$faker->words(3, false);//返回3個單詞,false表示返回一個陣列;true表示返回一個字串,單詞之間用空格分開
$faker->sentence(5, true);//返回一個句子,false表示只能含有5個單詞,true表示可以在5個單詞左右
$faker->sentences(3, false);//返回3條句子,false表示返回一個陣列,true表示將三條句子拼成一條返回
$faker->paragraph(3, true);//返回一個段落,由3條句子組成。false表示只能有3條句子,true表示可以在3條句子左右
$faker->paragraphs(4, false);//返回4個段落。false表示返回一個陣列,true表示將段落拼接在一起,並且用換行符分割
$faker->text(200);//返回一段文字,最多隻能含有200個字元

Faker\Provider\en_US\Person 人物

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

Faker\Provider\en_US\Address

$faker->cityPrefix;//城市字首.如:Lake
$faker->secondaryAddress;//二級地址.如:Suite 061
$faker->state;//州、省(如:Colorado、四川省)
$faker->stateAbbr;//省份簡稱.如:晉、蒙、浙、冀
$faker->citySuffix;//城市字尾.如:side、land、port、Ville
$faker->streetSuffix;//街道字尾.如:Ramp、Plains
$faker->buildingNumber;//建築物編號
$faker->city;//城市
$faker->streetName;//街道名稱
$faker->streetAddress;//街道地址
$faker->postcode;//郵政編碼
 $faker->address;//地址(城市+區)
 $faker->country;//國家
$faker->latitude;//緯度 latitude($min = -90, $max = 90)
$faker->longitude;//經度 longitude($min = -180, $max = 180)

Faker\Provider\en_US\PhoneNumber 電話號碼

$faker->phoneNumber;//手機號碼
$faker->tollFreePhoneNumber;
$faker->e164PhoneNumber;

Faker\Provider\en_US\Company 公司

$faker->catchPhrase;//口號
$faker->bs;
$faker->company;//公司名稱
$faker->companySuffix;//公司名稱字尾
$faker->jobTitle;//職稱

Faker\Provider\en_US\Text 文字

 $faker->realText();//一段敘事文字

Faker\Provider\DateTime 日期時間

$faker->unixTime;//返回隨機時間戳
$faker->unixTime('now');//返回隨機時間戳 可選最後截止時間
$faker->dateTime;//返回一個隨機的DateTime物件
$faker->dateTime('now', 'PRC');//返回一個隨機的DateTime物件,可選擇最後截止時間和時區
 $faker->dateTimeAD;//返回一個隨機的DateTime物件
 $faker->dateTimeAD('now', 'PRC');//返回一個隨機的DateTime物件,可選擇最後截止時間和時區
$faker->iso8601;//返回一個隨機的字串形式的時間
$faker->iso8601('now');//返回一個隨機的字串形式的時間,可選擇最後截止時間
$faker->date("Y-m-d H:i:s", 'now');//指定格式返回時間,可選擇最後截止時間
$faker->time('Y-m-d H:i:s', 'now');//(同上)指定格式返回時間,可選擇最後截止時間
$faker->dateTimeBetween('2019-01-01', 'now', 'PRC');//返回指定時間區間的DateTime物件,可選時區
$faker->dateTimeInInterval('-5 years', '+5 days', 'PRC');//返回指定時間區間的DateTime物件,可選時區(第一個引數:開始時間,第二個引數:時間範圍)
$faker->dateTimeThisCentury;//返回一個本世紀內的DateTime物件
$faker->dateTimeThisCentury('1950-01-01', 'PRC');//返回一個本世紀內的DateTime物件.指定截止時間和時區
$faker->dateTimeThisDecade;//返回一個前十年內的DateTime物件
$faker->dateTimeThisDecade('2015-01-01', 'PRC');//返回一個前十年內的DateTime物件.指定允許的最後時間和時區
$faker->dateTimeThisYear;//返回一個前一年內的DateTime物件
$faker->dateTimeThisYear('now', 'PRC');//返回一個前一年內的DateTime物件.指定允許的最後時間和時區
$faker->dateTimeThisMonth;//返回一個前一個月內的DateTime物件
$faker->dateTimeThisMonth('-15 days', 'PRC');//返回一個前一個月內的DateTime物件.指定允許的最後時間和時區
$faker->amPm;//上午/下午
$faker->dayOfMonth;//返回幾號
$faker->dayOfWeek;//返回星期幾
$faker->month;//返回月份
$faker->monthName;//返回月份名稱
$faker->year;//返回年份
$faker->year('2000-01-01');//返回年份.可指定最後截止日期
$timezone = $faker->timezone;//返回時區

Faker\Provider\Internet 網際網路

$faker->email;//返回一個隨機郵箱
$faker->safeEmail;//返回一個以@example.com結尾的安全郵箱
$faker->freeEmail;//返回一個隨機郵箱
$faker->companyEmail;//返回企業郵箱(中文語言包下不可用)
$faker->freeEmailDomain;//返回一個郵件域名
$faker->safeEmailDomain;//返回安全的郵件域名
$faker->userName;//使用者名稱
$faker->password;//密碼
$faker->domainName;//域名(中文語言包下不可用)
$faker->domainWord;//不帶字尾的域名(中文語言包下不可用)
$faker->tld;//域名字尾:如com、org(中文語言包下不可用)
$faker->url;//返回一個隨機url(中文語言包下不可用)
$faker->slug;
$faker->ipv4;//返回一個ipv4地址
$faker->ipv6;//返回一個ipv6地址
 $faker->localIpv4;
$faker->macAddress;//mac地址

Faker\Provider\UserAgent 使用者代理

$faker->userAgent;//返回一個隨機的使用者代理資訊
$faker->chrome;//返回一個chrome瀏覽器的使用者代理資訊
$faker->firefox;//返回一個firefox瀏覽器的使用者代理資訊
$faker->safari;//返回一個safari瀏覽器的使用者代理資訊
$faker->opera;//返回一個opera瀏覽器的使用者代理資訊
$faker->internetExplorer;//返回一個internetExplorer瀏覽器的使用者代理資訊

Faker\Provider\Payment 支付

$faker->creditCardType;//信用卡型別
$faker->creditCardNumber;//信用卡號
$faker->creditCardExpirationDate;//信用卡到期日 (DateTime物件)
$faker->creditCardExpirationDateString;//信用卡到期日期字串
$faker->creditCardDetails;//信用卡詳情(陣列)
 $faker->swiftBicNumber;
 $faker->iban;//國際銀行賬戶

Faker\Provider\Color 顏色

 $faker->hexcolor;//十六進位制的隨機色:'#fa3cc2'
$faker->rgbcolor;//RGB格式的隨機色(字串形式):'0,255,122'
 $faker->rgbColorAsArray;//RGB格式的隨機色(陣列形式):array(0,255,122)
$faker->rgbCssColor;//RGB格式的隨機色的css表示:'rgb(0,255,122)'
$faker->safeColorName;//一個安全的隨機色名稱
 $faker->colorName;//隨機色名稱

Faker\Provider\File 檔案

$faker->fileExtension;//檔案字尾
$faker->mimeType;//mime型別
// 將一個隨機檔案從原始檔複製到目標目錄,並返回fullpath
$faker->file($sourceDir = './up1', $targetDir = './up2');
// 將一個隨機檔案從原始檔複製到目標目錄,並返回basename
$faker->file($sourceDir = './up1', $targetDir = './up2', false);

Faker\Provider\Image 圖片

$faker->imageUrl();//https://lorempixel.com/640/480/?93028
$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
$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;//8105964964473
$ean8 = $faker->ean8;//05994441
$isbn13 = $faker->isbn13;//9780971408739
$isbn10 = $faker->isbn10;//0813387299

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; //23456789
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章