以前の記事で言及していたPRの件ですが、
Laravel11の公式パッケージPromptsのGitHubリポジトリにmacocci7が作成していたプルリクエスト(#134)が2024/04/16にマージされました。
Fix type error in suggest with collection by macocci7 · Pull Request #134 · laravel/prompts
This PR fixes the bug below: running the code below written in the document results in TypeError. $name = suggest( 'What...
次のバージョン(0.1.19)でリリースされると思います。
大した内容ではないですが、suggest()のバグ修正です。
公式ドキュメント
![](https://laravel.com/img/og-image.jpg)
Laravel - The PHP Framework For Web Artisans
Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing ...
に記載さ入れているコード
$name = suggest(
'What is your name?',
fn ($value) => collect(['Taylor', 'Dayle'])
->filter(fn ($name) => Str::contains($name, $value, ignoreCase: true))
)
を実行するとタイプエラーになってしまいます。
![](http://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_suggest_type_error.png)
collect([...])->filter(...)
の返り値が「Illuminate\Support\Collection」で
そのまま「array_values()」の引数として渡されてしまうため、タイプ判定を加えて、「Collection」の場合には配列に変換して渡すように修正しました。
PR作成時には「->toArray()」でコミットしましたが、
レビューで「->all()」に修正していただきました。
(他、phpstan用のPHPDocのTypesも。)
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_merged_02.png)
jessarcherさん、ありがとうございました。
![](https://macocci7.net/blog/wp-content/uploads/2024/04/laravel_prompts_fix_typeerror_in_suggest_merged_03.png)
mainブランチにマージされていることが確認できました。
次のリリースを待つことにしましょう。
※2024/04/17にv0.1.19としてリリースされました。
コメント