└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | # よく使う Faker のまとめです
2 |
3 | 詳しくは、旧本家サイトにて。 [旧本家サイト](https://github.com/fzaninotto/Faker) [新本家サイト](https://github.com/fakerphp/faker)
4 |
5 | Laravel 9.18 からの、fake() ヘルパー関数形式で書いています。
6 | プロパティ形式で書くのは、古い書き方で、いずれ機能しなくなりますので、メソッドで形式で書いて下さい。
7 | × fake()->name
8 | ○ fake()->name()
9 |
10 | # 住所系
11 |
12 | ```php
13 | fake()->postcode1(); // 834(郵便番号3桁)
14 | fake()->postcode2(); // 8290(郵便番号4桁)
15 | fake()->postcode(); // 8348290(郵便番号7桁)
16 | fake()->numerify('###-####'); // 834-8290(郵便番号3桁-4桁)
17 | fake()->prefecture(); // 東京都
18 | fake()->ward(); // 南区
19 | fake()->city(); // 鈴木市
20 | fake()->streetAddress(); // 斉藤町若松8-6-4
21 | fake()->secondaryAddress(); // ハイツ中村108号
22 |
23 | fake()->areaNumber(); // 1~10 の間の値
24 | fake()->buildingNumber(); // 101~110 の間の値
25 | ```
26 |
27 | # 個人情報(名前、メルアド、電話)
28 |
29 | ```php
30 | fake()->name(); // 山田 太郎
31 | fake()->firstName(); // 太郎
32 | fake()->lastName(); // 山田
33 | fake()->lastKanaName(); // ヤマダ
34 | fake()->firstKanaName(); // タロウ or ハナコ(引数に'male', 'female' で性別指定可)
35 | fake()->firstKanaNameMale(); // タロウ
36 | fake()->firstKanaNameFemale(); // ハナコ
37 |
38 | fake()->unique()->safeEmail(); // nakamura.ryohei@example.com(重複の無いメルアドで、実在しないドメイン)
39 | fake()->phoneNumber(); // 0135-67-7343
40 |
41 | fake()->company(); // 株式会社 伊藤
42 | ```
43 |
44 | # 文字列
45 |
46 | ```php
47 | fake()->realText(10); // 日本語対応あり。最小 10~
48 |
49 | fake()->sentence(8); // タイトルなどに(英語)
50 | fake()->paragraph(40); // 本文などに(英語)
51 | fake()->paragraphs(5, true); // 改行コード付きの本文などに(英語)
52 |
53 | fake()->regexify('[a-zA-Z0-9]{10}'); // 正規表現を使ったランダムな文字列
54 | \Str::random(10); // laravelのヘルパー関数(英数字のみ)。例:「TkO41KdieO」
55 |
56 | // 日本語でも改行コードほしい時は、以下。
57 | preg_replace("/。/", "。\n\n", fake()->realText(150));
58 | ```
59 |
60 | # 数字
61 |
62 | ```php
63 | fake()->numerify('##'); // 2桁の数字(07 など 0 からスタートもあり)
64 | fake()->numberBetween(1, 10); // 1~10 の間の数字
65 | fake()->biasedNumberBetween(1, 10, ['\Faker\Provider\Biased', 'linearLow']);
66 | // 'linearLow'で、低い数字の出る確率大。反対は、'linearHigh'
67 | ```
68 |
69 | # 配列
70 |
71 | ```php
72 | fake()->randomElement(['a', 'b', 'c', 'd']); // a~dの中からランダムに1つ
73 | fake()->randomElements(['a', 'b', 'c', 'd'], 2); // a~dの中からランダムに2つ(重複無し)
74 | ```
75 |
76 | # 日時
77 |
78 | ```php
79 | fake()->date('Y-m-d'); // 2002-12-10
80 | fake()->time('H:i:00'); // 23:52:00
81 | fake()->dateTime('now')->format('Y-m-d H:i:s'); // 1977-08-13 09:40:21
82 | fake()->dateTimeBetween('-3days', '3days')->format('Y-m-d'); // 2019-12-25
83 |
84 | // フォーマットの指定が無い時は、DateTime オブジェクトが返る
85 | ```
86 |
87 | # その他
88 |
89 | ```php
90 | fake()->colorName(); // Gold, Fuchsia, AntiqueWhite 等
91 | fake()->url(); // https://www.yahaoo.co.jp/
92 | fake()->latitude(35.54915506146918, 36.06591802134296); // 緯度
93 | fake()->longitude(138.96409298125002, 140.30442501250002); // 経度
94 | ```
95 |
96 | # 修飾子
97 |
98 | ### unique()
99 |
100 | ```php
101 | // 重複しないようにデータを返す
102 | // 但し、それ以上重複しない値を返せない時は、エラーとなる
103 | fake()->unique()->safeEmail();
104 | fake()->unique()->randomElement([1, 2, 3]); // 4 回呼び出してしまうとエラー
105 | ```
106 |
107 | ### optional()
108 |
109 | ```php
110 | // null(デフォルト値)を時折混ぜたい時に便利。
111 | fake()->optional(0.1)->randomElement([1, 2, 3]); // 90%の確率でnullを返す
112 | ```
113 |
114 | # おまけ
115 |
116 | ```php
117 | // laravel で Faker の日本語設定
118 | APP_FAKER_LOCALE=ja_JP // .env の場合(Laravel 11~)
119 | 'faker_locale' => 'ja_JP', // config/app.php の場合
120 | ```
121 |
--------------------------------------------------------------------------------