iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 6
1
Software Development

輪子們,聽口令,大部分解開始!系列 第 6

Faker(1)--假文產生器

  • 分享至 

  • xImage
  •  

在開發階段時,取名是讓開發者覺得非常困擾的任務之一。

當然,變數或函式命名必須得好好想想,不然容易造成別人看不懂的技術債。但有一種很想亂打就好,但系統會要求你不能亂打的--測試資料。

比方說,前兩天上測試環境要註冊帳號看到:

miles 這個使用者名稱已有人使用,請試試其他名稱。

對厚,上禮拜才用這個帳號,那換 miles123 試試:

miles123 這個使用者名稱已有人使用,請試試其他名稱。

可…可惡,又重覆了!那 miles482842781937382383724 總沒用過吧

miles482842781937382383724 可以使用哦,揪咪 ^.<

系統是在揪咪什麼啦!算了,總之而言,註冊好了。

(十分鐘後…)

嗯…剛剛的帳號名稱是什麼?忘了,再註冊一個吧!(上面的故事再循環一次)

又或者是,系統上會有 100 多個姓「麥」的,然後有 50 個都叫「爾斯」,當測試環境出問題的時候,看到「麥爾斯」出錯,還真的不知道是哪一個在搞鬼。

登登登登!假.文.產.生.器!

https://www.youtube.com/watch?v=ecjQvXCsVl4

這套件的功能,就是產生假資料,常見的姓名當然難不倒它:

$faker = Faker\Factory::create();

echo $faker->name;

再來看看它還可以產生什麼:

// 地址
echo $faker->address;

// 電話
echo $faker->phoneNumber;

// email
echo $faker->email;

// 密碼
echo $faker->password;

// IP
echo $faker->ipv4;

// User Agent
echo $faker->userAgent;

// 信用卡
echo $faker->creditCardNumber;

// 廢文
echo $faker->text;

// ...

各式各樣的假資料都能產生,不僅如此,它還支援多語系:

$faker = Faker\Factory::create('en_US');
echo "$faker->name\n";
$faker = Faker\Factory::create('zh_TW');
echo "$faker->name\n";
$faker = Faker\Factory::create('ja_JP');
echo "$faker->name\n";
$faker = Faker\Factory::create('ko_KR');
echo "$faker->name\n";

輸出可能如下:

Robert Becker
帥哲哲
野村 千代
옥형민

什麼!區區一個假文產生器怎麼這麼自戀,叫什麼「帥哲哲」!沒關係,這幾天讓我們一起來一探假文產生器的奧妙,到時要叫「金城武」還是「金秀賢」都隨開發者高興了!

參考資料

這幾天將會使用 Faker v1.7.1 做範例。


上一篇
Carbon(4)--擴充繼承類別的範例
下一篇
Faker(2)--Factory 與 Generator
系列文
輪子們,聽口令,大部分解開始!17
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言