└── 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 | --------------------------------------------------------------------------------