phpcon2018に参加してきた
phpcon2018 に参加してきました。
PHP Conference 2018 - #phpcon2018
以下4セッションを拝聴させていただきました。
ランサーズのCakePHP1.3→Cake2.8移行
スライド: CakePHP1.3 → CakePHP 2.8バージョンアップ - Speaker Deck
PHP、CakePHPのバージョンアップに、2,3名体制で、おおよそ2年かかったとのこと。
PHPよりも、フレームワークのバージョンアップのほうが辛そうな印象。
CakePHP1.3 => CakePHP2.8 を同居する(コントローラをindex.phpでスイッチする)作戦は、リソースが取れなくガッとバージョンアップできないかつ平行で開発が進んでいる場合でも、少しずつリリースできるので、よさそうと思った。
ユニットテストが入れられないレガシーなソースでCIが回せるようになった
スライド:
ユニットテストが入れられないレガシーなソースでCIが回せるようになった - Speaker Deck
codeception, Seleniumを使って、受け入れテスト(End-to-Endのテスト)をCIで回すようにしたお話。
Codeception はPHPのテストフレームワークとのことですが、知らなかったので今度調べてみよう。 https://codeception.com/
PHPを検査するPHPを書く
スライド:
PHPを検査するPHPを書く / Write PHP inspection by PHP - Speaker Deck
Linterが内部でどのようにソースコード解析を行っているのか、仕組みの発表だった。 GitHubのコードレビューを自動化できるサービスを作られている Siderさんのお話。
phpは触り始めたのが、最近なのですが、 こういう観点からも学んでいけると良さそうと思った。
PHPバージョンアップと決済テストを支えたユニットテスト
スライド:
PHPバージョンアップと決済リプレイスを支えたユニットテスト #phpcon - Speaker Deck
レガシーコードの改善に積極的に取り組まれているBASEさん
レガシーコードの課題としてよくあるのが、 ユニットテストを導入したいがそもそも、そういう構造になっていない。
ということ。
それをどう乗り越えてきたかがわかる発表だった。
ユニットテストがないロールにガッと導入するようなタイミングがあれば、このスライドを改めて見直すようにしよう。
まとめ
PHPカンファレンスは実はSIer時代に一度来ていて、今回2回目なのですが、前回よりも現場の苦労やつらみ(しかし楽しいみたいな)が気持ちがわかる分、色々なことが身に沁みた一日だった。