PHPカンファレンス2019に行ってきた(スライドまとめ)
2019年12月1日(日)、今年も蒲田駅近くにある大田区産業プラザ PiOにて開催された、PHPカンファレンス2019に行ってきました。
オープニングを飾るのは今年も廣川さん「PHPの今とこれから2019」
https://youtu.be/11s7aAlDKAQ?t=2150
ちょうど、数日前にPHP7.4がGAになりました。そして、遡ること2000年にもこのPHPカンファレンスでは、PHP4の紹介がこの大田区産業プラザで行われていました。今やサーバサイドプログラミングの多くはPHP言語で構築されています。
PHP5.3/5.4で現代的なスクリプト言語になり、性能面でもPHP7ではより高速化されました。次のPHPは、7.5ではなく、8になる予定です。おそらく2012年の9月あたりがターゲットになっています。JITやunionが搭載される予定です。
PHP 5.xは2割くらい、PHP 7.xは7割くらいでしょうか。(去年に比べて、PHP5.xは減った印象)PHP 7.0, 7.1についてもEOLを迎えました。各ディストリビューターのバックデートもありますが、新しいバージョンに移行することを推奨します。
PHP 7.4は若干の性能改善しているようです。(ベンチマークでは15%という数値が出ていますが、体感するほどではなさそうですが)また、PHP 7.4はクラスプロパティの型指定のチェックを厳密にできるようになりました。(あらかじめstrict_types=1で宣言する必要があります)
また、PHP 7.4ではOpCacheでキャッシュをロードすることによって起動時における性能を改善しています。
さらに、FFI(Foreign Function Interface)により外部機能の利用が容易になったり、配列スプレッド構文が利用可能になったり、アロー関数(ショートクロージャー)が利用可能になりました。
構文関係では、「??=」である変数が設定されていない場合に代替文字列を代入可能となりました。他は、mb_str_split()関数や、数値リテラルセパレータ(数値のカンマ区切り)、「+」や「.」の優先順位が変更になりました。
PHP 8ではJITが採用予定です。現在はx86をサポートし、将来はARMもサポート予定です。PHP 8では実行速度が大幅改善(2倍ほど高速)するとのベンチマークですが、実用アプリではそれほどでも無いかもしれません。JITコンパイルに時間がかかる点も見過ごせません。もちろん、それは改善しようとしています。
Rusmas語録「PHPは歯ブラシのようなもの。」
あと、私が聴講したのは、成瀬さんの「思想と理想の果てに -- クリーンアーキテクチャのWEBフレームワークを作ろう 」と、PHPUnitの作者でもあるSebastian Bergmann氏の「PHPUnit: Past, Present and Future」と、徳丸先生の「オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法」。他にも、興味のあるセッションもありましたが、YouTubeでの配信記録をチェックしたいと思います。
現地会場では、Wifiが完備されており、暖房も適度に効いているので非常に快適ですよ。ただ、現地で投影されるスライドはやや小さめなので、近眼の方はPCやタブレットで事前に公開されたスライドをチェックすると良さげです。
以下、スライド集です。
- Chatworkのシステムから学ぶレガシーなPHPの限界とレガシーからの脱却(村上 俊介さん)
- MVCにおける「モデル」とはなにか PHP Conference Japan 2019(天重誠二さん)
- Hash, Cryptography, and PHP(Peterさん)
- PHPからgoへの移行で分かったこと(樋口雅拓さん)
- 思想と理想の果てに -- クリーンアーキテクチャのWEBフレームワークを作ろう (成瀬 允宣さん)
- PHP 開発環境で使う Kubernetes(新原 雅司さん)
- 「弁護士ドットコム」を作り続ける開発組織について(狩野 秀明さん)
- PHPerのためのテストコード入門 (02 / 大津 和槻 さん)
- 改善失敗から学ぶ、レガシープロダクトに立ち向かうチーム作り。 (杉山 祐一さん)
- Composerって何?どう動くの?読んでみました! (きんじょうひでき さん)
- Webサービスのトラブルの現場 ~ Webサービスの今と昔 ~(soudaiさん)
- 知見のない技術スタックをプロダクション導入するエンジニアの導入(東口和暉)
- 5ヶ月でカバレッジを20%から90%にした話(吉田あひる)
- 脆弱性から学ぶWebセキュリティ(バーチーさん)
- Zend VMにおける例外の実装(hnwさん)
- 「CPUとは何か」をPHPで考える(長谷川智希さん)
- オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)(徳丸浩さん)
- REST 6+4の制約 (郡山昭仁さん)
- このPHP QAツールがすごい!2019(sasezakiさん)
- PHPを学ぶということ(岸田健一郎さん)
- Laravel + Nuxt.js + FirebaseでDXと開発コストを意識したSPA開発(カンボ@沖縄さん)
- PHPでgRPCってどこまでいけるの? (株式会社サイバーエージェント 白井 英さん)
- PHP-CS-FixerをIDEに取り込ませてPSRを強制する開発スタイル(sogaohさん)
- レガシーコードでビジュアルリグレッションテストをやってみた(阿波連 智恵さん)
- 設計文化のないチームに文化を広めたが冴えない一手で混沌を招いた話を聞いてほしい(しろぐちゆうま さん)
- 余裕を生み出すコードレビュー(高野福晃さん)
2019/12/01 11:00〜 Track 3 (4F コンベンションホール 鶯) 25分枠
Chatworkのシステムから学ぶレガシーなPHPの限界とレガシーからの脱却(村上 俊介さん)
2019/12/01 11:00〜 Track 4 (4F コンベンションホール 梅) 60分枠
MVCにおける「モデル」とはなにか PHP Conference Japan 2019(天重誠二さん)
2019/12/01 11:00〜 Track 6 (3F 特別会議室 - サテライト: 6F D会議室) 60分枠
Hash, Cryptography, and PHP(Peterさん)
2019/12/01 11:35〜 Track 3 (4F コンベンションホール 鶯) 25分枠
PHPからgoへの移行で分かったこと(樋口雅拓さん)
2019/12/01 13:00〜 Track 1 (1F 大展示ホール) 60分枠
思想と理想の果てに -- クリーンアーキテクチャのWEBフレームワークを作ろう (成瀬 允宣さん)
2019/12/01 13:00〜 Track 2 (2F 小展示ホール) 25分枠
PHP 開発環境で使う Kubernetes(新原 雅司さん)
2019/12/01 13:00〜 Track 3 (4F コンベンションホール 鶯) 25分枠
「弁護士ドットコム」を作り続ける開発組織について(狩野 秀明さん)
2019/12/01 13:00〜 Track 5 (1F AB会議室 - サテライト: 6F C/E会議室) 25分枠
PHPerのためのテストコード入門 (02 / 大津 和槻 さん)
2019/12/01 13:35〜 Track 3 (4F コンベンションホール 鶯) 25分枠
改善失敗から学ぶ、レガシープロダクトに立ち向かうチーム作り。 (杉山 祐一さん)
2019/12/01 13:35〜 Track 5 (1F AB会議室 - サテライト: 6F C/E会議室) 25分枠
Composerって何?どう動くの?読んでみました! (きんじょうひでき さん)
2019/12/01 14:10〜 Track 2 (2F 小展示ホール) 60分枠
Webサービスのトラブルの現場 ~ Webサービスの今と昔 ~(soudaiさん)
2019/12/01 14:10〜 Track 4 (4F コンベンションホール 梅) 25分枠
知見のない技術スタックをプロダクション導入するエンジニアの導入(東口和暉)
2019/12/01 14:10〜 Track 6 (3F 特別会議室 - サテライト: 6F D会議室) 25分枠
5ヶ月でカバレッジを20%から90%にした話(吉田あひる)
2019/12/01 14:45〜 Track 3 (4F コンベンションホール 鶯) 25分枠
脆弱性から学ぶWebセキュリティ(バーチーさん)
2019/12/01 14:45〜 Track 5 (1F AB会議室 - サテライト: 6F C/E会議室) 25分枠
Zend VMにおける例外の実装(hnwさん)
www.slideshare.net
2019/12/01 14:45〜 Track 6 (3F 特別会議室 - サテライト: 6F D会議室) 25分枠
「CPUとは何か」をPHPで考える(長谷川智希さん)
2019/12/01 15:20〜 Track 1 (1F 大展示ホール) 60分枠
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法 (PHPカンファレンス2019)(徳丸浩さん)
www.slideshare.net
2019/12/01 15:20〜 Track 2 (2F 小展示ホール) 60分枠
REST 6+4の制約 (郡山昭仁さん)
2019/12/01 15:20〜 Track 3 (4F コンベンションホール 鶯) 25分枠
このPHP QAツールがすごい!2019(sasezakiさん)
www.slideshare.net
2019/12/01 15:20〜 Track 5 (1F AB会議室 - サテライト: 6F C/E会議室) 25分枠
PHPを学ぶということ(岸田健一郎さん)
2019/12/01 16:30〜 Track 1 (1F 大展示ホール) Lightning Talks
Laravel + Nuxt.js + FirebaseでDXと開発コストを意識したSPA開発(カンボ@沖縄さん)
2019/12/01 16:40〜 Track 1 (1F 大展示ホール) Lightning Talks
PHPでgRPCってどこまでいけるの? (株式会社サイバーエージェント 白井 英さん)
2019/12/01 16:45〜 Track 1 (1F 大展示ホール) Lightning Talks
PHP-CS-FixerをIDEに取り込ませてPSRを強制する開発スタイル(sogaohさん)
PHP-CS-FixerをIDEに取り込ませてPSRを強制する開発スタイル
2019/12/01 16:50〜 Track 1 (1F 大展示ホール) Lightning Talks
レガシーコードでビジュアルリグレッションテストをやってみた(阿波連 智恵さん)
2019/12/01 17:05〜 Track 1 (1F 大展示ホール) Lightning Talks
設計文化のないチームに文化を広めたが冴えない一手で混沌を招いた話を聞いてほしい(しろぐちゆうま さん)
2019/12/01 17:20〜 Track 1 (1F 大展示ホール) Lightning Talks