Closed chiroruxx closed 7 years ago
よろしくです
faker phpで検索 で検索するとGitHubページがヒットした。
installationを発見
とりあえず作業プロジェクト作ります・・・
C:\Users\username\project\fakerTest
作った
composer require fzaninotto/faker
実行します。
'composer' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
composer入れます・・・
composerで検索したらページヒット。 https://getcomposer.org/
トップページにダウンロードリンク発見。
Windowsインストーラーがあるので落として入れます。
Developer mode
のチェックボックスがある・・・
アンインストーラーがつかないみたいなので、外して進める。
(composerの開発者用ってこと?)
phpの実行パスをきかれたので、調べて入力。
php.iniの更新をしないと進められないみたい。 でも自動でやってくれるようす。
エラー出た。
The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 到達できないホストに対してソケット操作を実行しようとしました。
The "https://getcomposer.org/versions" file could not be downloaded: php_network_getaddresses: getaddrinfo failed: そのようなホストは不明です。
failed to open stream: php_network_getaddresses: getaddrinfo failed: そのようなホストは不明です。
ネットワーク途中で切れたみたい。
リトライ。無事にcomposerをインストールできた様子。
fakerのインストールに戻ります。
composer require fzaninotto/faker
'composer' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
composerの最後に再ログインしてねって書いてあったので、再ログインします。
再チャレンジ。
composer require fzaninotto/faker
Using version ^1.7 for fzaninotto/faker
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing fzaninotto/faker (v1.7.1): Downloading (100%)
Writing lock file
Generating autoload files
無事に動いた様子。
Basic Usageがあるのでやってみます。
以下の部分だけ変更して実行してみます。
require_once '/path/to/Faker/src/autoload.php';
↓
require_once __DIR__ . '/vendor/fzaninotto/faker/src/autoload.php';
<?php
// require the Faker autoloader
require_once __DIR__ . '/vendor/fzaninotto/faker/src/autoload.php';
// alternatively, use another PSR-0 compliant autoloader (like the Symfony2 ClassLoader for instance)
// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();
// generate data by accessing properties
echo $faker->name;
// 'Lucy Cechtelar';
echo $faker->address;
// "426 Jordy Lodge
// Cartwrightshire, SC 88120-6700"
echo $faker->text;
// Dolores sit sint laboriosam dolorem culpa et autem. Beatae nam sunt fugit
// et sit et mollitia sed.
// Fuga deserunt tempora facere magni omnis. Omnis quia temporibus laudantium
// sit minima sint.
結果は
Ruth Feeney339 Anderson Manors
New Jamie, PA 04244Quos beatae atque quos voluptas saepe doloribus. Quae iste autem facilis quasi. Vitae facilis culpa nostrum et dolor. Anim
i dolor dolore ipsam officia ut sed.
いい感じ。
BasicUsageの2個目も実行します。
<?php
// require the Faker autoloader
require_once __DIR__ . '/vendor/fzaninotto/faker/src/autoload.php';
// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();
for ($i=0; $i < 10; $i++) {
echo $faker->name, "\n";
}
// Adaline Reichel
// Dr. Santa Prosacco DVM
// Noemy Vandervort V
// Lexi O'Conner
// Gracie Weber
// Roscoe Johns
// Emmett Lebsack
// Keegan Thiel
// Wellington Koelpin II
// Ms. Karley Kiehn V
結果は
Miss Joanny Farrell I
Isaias Gottlieb
Jodie King MD
Jackeline Medhurst
Prof. Lura Yundt
Wilfred Bartell
Myra Hauck
Otto Cassin
Kaia Gulgowski
Mrs. Raquel Little
ランダムになってますね。
別の人の作ったCLIコマンドもあるみたい。 https://github.com/bit3/faker-cli
https://github.com/fzaninotto/Faker#modifiers
楽しそうなのでやってみる。
サンプルコード動かすときに毎回
<?php
// require the Faker autoloader
require_once '/path/to/Faker/src/autoload.php';
// alternatively, use another PSR-0 compliant autoloader (like the Symfony2 ClassLoader for instance)
// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();
を自分で補完しないといけないのが面倒・・・
サンプルコードがPSR-2に則っていない気がする。ちょっと読みづらい。
フィードバックポイントを自分でわかるようにまとめる。
BasicUsageの2つ目のサンプルコードと、Modifiers以降のサンプルコードが、Fakerインスタンスを作成する部分が省略されているので、コピペしても動かない。 インスタンスを作成する部分も書いたほうが、実行しやすいと思う。 でも、今説明したい部分を強調するために、わざと外しているのかも。
サンプルコードのやつ
コピペのやつ
サンプルコードのやつは気のせいかも・・・(よく調べたらイコール前後のスペースについては言及されていなかった)
BasicUsageの2番目のサンプルコードから、オートロードとFaker/Factoryインスタンスの生成が省略されている。 初心者にとっては気づかない場合があるので、2番目のサンプルコードの前に、「以降のサンプルコードではオートロードとFaker/Factoryインスタンスの生成については省略する」旨を書いてほしい。
とりあえず英語に。
I think sample codes in readme.md is hard to understand for beginners. Because the code of auto loading and creating a Faker/Factory
instance is omitted from 2nd sample code in Basic Usage.
So, this adds the sentence "After this sample code, they are omitted the code of auto loading and creating a Faker/Factory
instance" before 2nd sample code.
I think sample codes in readme.md is hard to understand for beginners. Because the code of auto loading and creating a Faker/Factory
instance is omitted from 2nd sample code in Basic Usage.
So, this adds kinder sentence before 2nd sample code. "After this sample code, they are omitted the code of auto loading and creating a Faker/Factory
instance" .
issue だしました・・・!!
コーディングスタイルが不統一なのはそれだけで問題と言えるので(「リーダブルコード」などでも言及されていますね)、特に何かルールが無い部分であっても、気にせず指摘していいと思います。
サンプルコードを変えずに説明文で対応するというのは、変更対象をやたらに広げてしまわず小さい範囲に留める方法として有効で良いと思います。 あとは、#573 へのコメントとも重なるのですが、「〜ということなので、こう実装(解決)してみました」というPRを間をおかずに出したり、あるいはPRするつもりであることを表明しておくと、プロジェクト運営者が安心しやすくて良いと思います。
おつかれさまでした!いったんこちらのissueはクローズしますが、出したissueに変化があった時など、引き続きこちらに書いていくのもアリです!
This is a work log of a "OSS Gate workshop". "OSS Gate workshop" is an activity to increase OSS developers. Here's been discussed in Japanese. Thanks.
作業ログ作成時の説明
以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。
: Work log
タイトル例↓:
OSS Gateワークショップ関連情報