先日の6月28日にPHPカンファレンス2025に参加したので感想を書きたいと思います。
また、このイベントには弊社からは私と塚原が登壇者として参加しました。
せっかくなので登壇者側からの裏話も交えて書きたいと思います。
PHPでWebSocketサーバーを実装しよう2025
私、久保田の発表です。スライドはこちら
弊社ではWebSocketを利用したプロダクトはありません。なのでこの発表は非常に個人的なものです。
もともと注目したのはWorkermanというフレームワークでした。
Workermanは中華圏のコミュニティにより開発されているようで、日本では知らない人がほとんどだと思います。私もそうでした。
私も参加しているコミュニティで行っているイベントにてWorkermanの存在を知り、魅力を感じました。
このフレームワークのサンプルコードを見ると、とてもPHPとは思えず、Node.jsっぽさを感じます。
サンプルコードの一番最初がWebSocketのコードだったため、PHPでは他にどんなソリューションでWebSocketサーバーを実装できるんだろうか?という視点からこの発表に至りました。
調べてみると、PHPは本来WebSocketサーバーを実装するのに向いていない言語だと思っていたのですが、いろんなライブラリやミドルウェアによってWebSocketサーバーの実装を実現していてPHPコミュニティの面白さを実感しました
ぜひスライドをご覧になって、面白そうだと思った技術に触れてみてほしいと思います。
それではその他公聴したセッションで一番印象に残ったものの感想を書きたいと思います。
成瀬さんの「イベントストーミング図からコードへの変換手順」です。
イベントストーミング自体はもともと知っていて、「入門」ドメイン駆動設計の書籍でも同じく成瀬さんの解説した記事を拝見していました。
このセッションの面白いところはイベントストーミングそのものではなく、昨今のバイブコーディングと呼ばれるようなAIにコーディングを行う手法にたいして、このイベントストーミング図をそのまま食わせるだけである程度形になってしまう、という話でした。
このセッションではLaravelによるコードでしたが、それこそAIに書かせるため言語すら問わず、本来イベントストーミングで表現する際に適しているAkka等を書かせることも可能なのではないかと期待しました。
出力されたコードが正しいかどうかを判断するためにある程度知識は必要だと思いますが、普段使わない言語、FWを使って出力できたらとても強力ですね。
人間がコーディングするうえでももちろん大事な事前の設計が、AIとの協調でさらに強力になることを実感しました。
では、塚原からもお伝えさせていただきますね!
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
今回、私が発表させていただいたスライドになります。
弊社プロダクトに権限管理を導入する中で得た苦労や実装の勘所をまとめています。
見どころは、一覧データを「許可されたレコードだけ」に絞り込むフィルター実装の解説(後半)。興味のある方はぜひご覧ください👀
ニッチなテーマながら、懇親会で「参考になりました!」「権限管理で勉強会をやりましょう!」と声を掛けていただきました。ギリギリまでスライドを磨いた甲斐がありました🙌
私のイチオシセッションは
プログラミングをするパンダさんの「設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち」です。
チーム全員で設計観をそろえる という切り口が刺さったセッションです。当日の会場は立ち見の人が出るくらい反響でした。
サービス/エンティティ/VO/DTO の棲み分けや、メソッドを「クエリ・コマンド・モディファイア」に整理する発想など、実装ガイドラインを共有するだけでコードレビューが格段に楽になることを再確認しました。
スライドは早速チームに共有し、生成 AI エディタにも学習させています。定期的に読み直したくなる素敵なスライドでした。
現場からは以上です。