Slide 1

Slide 1 text

5年ぶりにPHPを書いた話 @tototoshi / はじめてのIT勉強会 in 仙台 #10

Slide 2

Slide 2 text

⾃⼰紹介 https://github.com/tototoshi https://twitter.com/tototoshi ⾼橋です ⽯巻出⾝ 2017年に東京から仙台に引っ越しました

Slide 3

Slide 3 text

私の仕事 Web中⼼のバックエンドエンジニア 今はほとんどScala フリーランス&リモートで6年⽬

Slide 4

Slide 4 text

OSS活動 tototoshi/scala-csv ⭐ 604 ScalaのCSVライブラリ flyway/flyway-play ⭐ 166 Flyway(Javaのデータベースマイグレーションツール)のPlay Frameworkプラグイン tototoshi/slick-joda-mapper ⭐ 250 SlickというORMでjoda-time(Javaの⽇時ライブラリ)を使うためのライ ブラリ

Slide 5

Slide 5 text

今⽇の話 PHPの話 GitHub、OSS楽しいよという話

Slide 6

Slide 6 text

昔々... tototoshi/staticmock ⭐ 37 PHP のスタティックメソッドをモック化する - pixiv inside [archive] 単体テストのためにstaticメソッドの実装をすり替えたい 普通はできない できるようにした

Slide 7

Slide 7 text

つまりこういうやつを 接続 情報 取得

Slide 8

Slide 8 text

こんな感じにテスト

Slide 9

Slide 9 text

思ったより使われてそう 嬉しい https://packagist.org/packages/tototoshi/staticmock/stats

Slide 10

Slide 10 text

StaticMockの弱点 作者がメンテナンスを放置している 私です! PHPもう忘れた ( ᐛ ) runkitというPHP拡張に依存している https://github.com/zenovich/runkit PHP7をきっかけに2015年以降メンテナンスされていない PHP7では別の⼈がforkしたバージョンが使えたのでそれを使っていた ⼤丈夫なのか?

Slide 11

Slide 11 text

朗報: ちゃんとメンテされてた https://github.com/runkit7/runkit7 runkit7という名前になって継続的にメンテされていた OSSっていいね

Slide 12

Slide 12 text

朗報: Pull Request StaticMockもrunkit7対応できた 👍

Slide 13

Slide 13 text

朗報: uopzっていうやつでも動くらしい エゴサしてたらforkした⼈がuopz対応させてるのを発⾒した

Slide 14

Slide 14 text

朗報: 詳しい解説付き https://qiita.com/kunit/items/43ca86a461d2e5e051cf

Slide 15

Slide 15 text

朗報: 取り込んだら普通に動いた https://github.com/tototoshi/staticmock/pull/24

Slide 16

Slide 16 text

結果 runkit7でもuopzでも動くようになった どちらかが開発⽌まったとしてもStaticMockを使い続けられる PHP8も⼤丈夫そう PHPの書き⽅を少し思い出した 👍 rtm-ctlz 👍 kunit

Slide 17

Slide 17 text

GitHub楽しい ⼀番好きなSNSです ⾃分の作ったものが使われるのは嬉しい 改造してもらえるのはもっと嬉しい みんなでわいわいしましょう

Slide 18

Slide 18 text

おわり これはおしり https://github.myshopify.com/collections/shirts/products/octocat- one-piece