Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSS Gateに参加したら Larastanに コントリビュートできた - Kobe Lar...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Akinori Takigawa
April 09, 2024
0
170
OSS Gateに参加したら Larastanに コントリビュートできた - Kobe Laravel
Akinori Takigawa
April 09, 2024
Tweet
Share
More Decks by Akinori Takigawa
See All by Akinori Takigawa
パイプ演算子の実装を 覗いてみよう
akinoriakatsuka
0
170
PHPでCQRS+ES入門
akinoriakatsuka
0
190
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
730
Rubyで作る物理エンジン - 叡電LT
akinoriakatsuka
0
29
パイプ演算子の実装を覗いてみよう - 【非公式】PHPカンファレンス福岡2025・前日Meetup
akinoriakatsuka
0
33
技術的負債の会計学 - PHPカンファレンス広島2025
akinoriakatsuka
8
1.4k
スクラムをちゃんとやる勇気
akinoriakatsuka
0
56
キャリアを拓く! 登壇のススメ - PHPカンファレンス関西アフターパーティー in スマレジ
akinoriakatsuka
1
150
カンファレンスに参加したあなたが明日からできること
akinoriakatsuka
2
260
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
Are puppies a ranking factor?
jonoalderson
1
3.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
250
Claude Code のすすめ
schroneko
67
220k
Navigating Team Friction
lara
192
16k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Automating Front-end Workflow
addyosmani
1370
200k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
880
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Transcript
OSS Gate に参加したら Larastan に コントリビュートできた あかつか 2024/04/11 Kobe Laravel
自己紹介
自己紹介 あかつか 神戸の会社でバックエンドエンジニアをしています PHP とLaravel が好きです 最近はGo も好き new Larastan
コントリビューター https:/ /github.com/larastan/larastan/releases/tag/v2.9.1 (とはいえ、一個しかPR やってない)
Larastan とは
Larastan とは PHPStan のLaravel 向けラッパー PHPStan PHP の静的解析ツール 定義されていない変数を使おうとした時に警告し てくれる
関数の戻り値の方が間違っている時に警告してく れる Larastan はLaravel の特有の機能にも対応している
OSS Gate とは
OSS Gate とは 「OSS Gate 」は、OSS 開発に参加する「入り口」を提供 する取り組みです。 OSS 開発に未参加の人を参加する
人へ、少し参加したことがある人を継続的に参加する 人へ。そうやってOSS 開発に参加する人を継続的に増や していく。それが「OSS Gate 」の目的です。 https:/ /oss-gate.github.io/
今回追加したもの
追加したもの サポートされているEloquent Builder メソッドに withWhereHas を追加 https:/ /github.com/larastan/larastan/issues/1523 https:/ /github.com/larastan/larastan/pull/1853
withWhereHas use App\Models\User; $users = User::withWhereHas('posts', function ($query) { $query->where('featured',
true); })->get();
実際に動きを見てみよう 私の変更が入ったのは2.9.1 から 2.9.0 と2.9.2 で違いを見てみよう $ composer show -i
| grep larastan $ ./vendor/bin/phpstan analyse
実際に動きを見てみよう before(2.9.0) after(2.9.2)
参加した時の私 OSS の経験はほぼなし ドキュメント修正のプルリクを送った程度 それでもコントリビュートできた🎉
どうやって追加した 1. Laravel とLarastan をインストールして 再現用のコードを書く 2. 手元のLarastan でissue の再現を確認
3. Larastan のリポジトリをフォーク 4. 修正を追加 5. テストを追加 + 通ることを確認 6. ドキュメントの修正 7. PR を送る
大変だったところ テストの書き方が最初わからなかった PHPUnit のTestCase を継承しているPHPStan の テストクラスを使っていた コミュニケーションが英語 CI がうまく通らないことがあって不安になった
OSS コントリビュートの始め方 OSS Gate に参加してみる 次回はオンラインで4/27 に開催される いろんなOSS を使ってみる PHP
やLaravel もOSS 使うことも貢献の一つの形 使っていてバグを見つけたり、うまく動かなかった りしたら報告しよう https:/ /github.com/laravel/framework/issues/50862
宣伝 PHP カンファレンス福岡で登壇します よかったらきてください!
Thank you!