📚
FakerPHPのregexify関数の実装を読んでみる
偶然、fakerphpなるライブラリを知った。
今まで知らなかったのは、ラウンダムデータを使うタイプのテストはやらなかったため。
紹介してるページで最古はこのあたりか。
非常に気になったのが、regexifyという関数。
正規表現を受け付けて、それに合致する文字列を返すらしい。
まさか総当たりループとかしてないよな?とソースを眺めたらそんなことはなかった。
詳しくは下記のソースの通りなのだが。
既知の正規表現パターンから、preg_replace_callback 該当する生成関数を呼んでるだけだった。
実は regexify 内部関数からも呼ばれており、生成パターンの指定方法を汎用化しようとした名残だと思われる。
regexify は v1.21.0 で追加されたことがわかる。
ちなみに v1.21.0 のタグにはそんな記述はなかった....
Discussion