🐘

PHPカンファレンス関西2025に登壇・参加しました

に公開

こんにちは、booostのバックエンドエンジニアのma_meです。
表題の通り、PHPカンファレンス関西2025に登壇・参加してきましたので、登壇内容と各講演の感想を記事になります。
https://2025.kphpug.jp/

登壇内容

「どこまで違う?!PHP実行環境パフォーマンス対決 - mod_php vs php-fpm vs Swoole vs FrankenPHP」
前回はPHPerKaigiで各実行環境の概要や構成に触れたので、
今回は実際にどれだけのパフォーマンスが出るのか、またどれだけの差が出るのかを話してきました。
結果はスライドを見ていただければと思います。
https://www.docswell.com/s/1313108/ZGGREJ-2025-07-17-000927
スライド中のソース
https://github.com/gmagmeg/performance-comparison

PHPerKaigi時の発表資料はこちら
https://www.docswell.com/s/1313108/ZP2QQ1-2025-03-21-123847

登壇の感想

いろんな環境を触り、各環境のパフォーマンス差異を知ることも出来て、個人的には満足した内容になっています。
また、普段自分が記事を読んだり、書籍を読んでいるような方々からもフィードバックをいただくことが出来、とても嬉しい気持ちになりました。
今後の予定として、触っていた中でやっぱりFrankenPHPが面白かったので、
もっと掘り下げて調べる&話せていけたらなと考えています。

テーマ候補

  • Laravel Octaneの内部実装
    Workerスクリプトの役割
  • Caddyを含めたより細かなパフォーマンスチューニング
  • FrankenPHPでどこまでNode.jsの代わりが出来るのか
    webSocketやpush通知の実装など

次回は広島・福岡あたりに参加したので、プロポーザルを考え中です。

講演・スライドの感想

ここからは聞いたor読んだスライドの感想になります。

ソフトウェア・デザインに向かおう ~ 世界を(ちょっとだけ)変えるソフトウェアを目指して ~ by 杉本啓

https://speakerdeck.com/sugimotokei/phpkanhuarensuguan-xi-2025-ji-diao-jiang-yan
「デザイン」「設計」「アーキテクチャ」という、普段意識せずに使っていた言葉に対して、このセッションを通じて解像度を高めることが出来ました。
ドメインを深く理解し、ソフトウェアによって業務の在り方を変革していくプロセスのお話は、具体的で非常に面白かったです。
技術的な側面に留まらず、いかにして価値を届け、世界を(ちょっとだけ)変えるかという「ソフトウェア・デザイン」の考え方を、今後の自分の仕事における指針にしていきたいです。

PHPUnitの限界をPlaywrightで補完するテストアプローチ

https://speakerdeck.com/yuzneri/phpunitnoxian-jie-woplaywrightdebu-wan-surutesutoapuroti
PlaywrightとPHPUnitの両社の使い分けの判断基準がとても分かりやすく、とても参考になりました。
バックエンドとフロントエンドの境界が曖昧になる現代のWeb開発において、e2eテストツールを活用することの重要性を再認識できました。

階層化自動テストで開発に機動力を

https://speakerdeck.com/ickx/jie-ceng-hua-zi-dong-tesutodekai-fa-niji-dong-li-wo
ソフトウェアの品質を、過不足なく要求を満たしていること、という定義や、
各階層が担うべき責務を「フロー」と「状態」という関心ごとで再定義されているのが非常に興味深かったです。
開発プロセス全体の効率化が期待できる、とても有意義な内容でした。

遊びながら強くなる!コードゴルフで学ぶPHPの言語仕様

https://www.docswell.com/s/takaram/59RVWJ-phpcon-kansai-2025
ソースコードを1バイト単位で削っていく思考プロセスは、普段の業務とは全く違う頭の使い方で、刺激的でした。
普段とは違った切り口のチャレンジに対して、遊び心を持って言語のコアな部分を探求することで、より深い理解に繋がるのだと実感しました。
このセッションをきっかけに、PHPの言語仕様をもっと深掘りしてみたいと思わされました。

PHPでやってみよう!テストだけじゃない、デシジョンテーブル(決定表)実装の勘所

https://www.docswell.com/s/katzumi/KLQL3Q-decision-table-implementation-tips#p15
デシジョンテーブルを書いて、実装コードに落とし込んだ時に膨れ上がってどうしよう…と困ることは多々ありましたが、
実例が豊富で、どう表現すればいいかを掴むことが出来ました。
私が携わっているシステムも法改正の影響を受けやすいため、仕様の変更に強く、見通しの良いコードを書くためのヒントをいただいたと感謝しています。

MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる

https://zenn.dev/techtrain_blog/articles/0bea024a5f0700
新しく登場するベクトルカラムが、内部的にどのようなデータ構造で保持され、インデックスがどう機能するのか、その仕組みの一端を知ることができたのが大きな収穫です。
PostgreSQLとMySQLの差を痛感し、今後のデータベース選定の考え方が大きく変わりそうです。

コードは育つ、僕も育つ、 PHPと歩んだ設計物語

https://speakerdeck.com/yousaku/kotohayu-tu-pu-moyu-tu-phptobu-ntashe-ji-wu-yu
開発の現場では避けられない失敗を、単なるエラーではなく「資産」として捉える姿勢が、とても素敵でした。
失敗は隠したがるものですが、それをオープンにして、どう乗り越えてきたかを共有する姿勢は、
まさに開発者としての理想像だと感じました。

「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図

https://speakerdeck.com/panda_program/what-should-you-learn-next
普段親しんでいる技術書や概念の著者たちが、DHHという一人の人物を根底に繋がっているという歴史は、点と点が線で結ばれるような感覚で、非常に興味深かったです。
またこれまで断片的に学んできた技術や知識が、どのように全体の中で機能し、相互に影響し合う、システム思考の考えを知れてよかったです。

構文解析器入門

https://speakerdeck.com/ydah/parser-basics-40766b3a-6e56-4b5e-bbb0-b77c09806158
ふわっとASTという単語ぐらいしか知らない程度でのスライドの拝見でしたが、各工程の概要をしっかりつかむことが出来ました。
特にここ最近でオペコード、オペキャッシュを設定することが多かったので、
内部的にどのように扱われ、変換されているのかまで踏み込んでいなかったので、プロセスに結びつけて学べたことが大きな収穫でした。

PHPStanへのコントリビュートを通して更にPHPStanに詳しくなった話

https://docs.google.com/presentation/d/17tVgyN83sqQP7DpDuRXXYDc9ZQE2c3O7Ei8_51gaWI8/edit?slide=id.g338d5ea0798_0_280#slide=id.g338d5ea0798_0_280
型解決の仕組みの解説が非常に分かりやすく、FunctionMap.phpの存在を知れて、とても身近なものに感じれるようになりました。
またご自身の経験に基づいた具体的な解説から、
深い知識と情熱、実際にPRまで送る行動力と探求心に感心しました。

バイブスあるコーディングで ~PHP~ 便利ツールをつくるプラクティス

https://speakerdeck.com/uzulla/baibusuarukodeingude-php-bian-li-turuwotukurupurakuteisu
軽快なトークが非常に面白く、あっという間に引き込まれました。
AIの提案にあえて水を差し、うまく方向を示して乗せていく感覚が、今後の開発で重要になると学びました。

私たちはなぜ PHP をこまめにアップデートしないといけないのか? 〜攻めと守り、両面から見たバージョンアップの本当の意味〜

https://speakerdeck.com/myblackcat7112/si-tatihanaze-php-wokomameniatupudetosinaitoikenainoka-gong-metoshou-ri-liang-mian-karajian-tabaziyonatupunoben-dang-noyi-wei
つい後回しにしがちなバージョンアップですが、具体的な数字でセキュリティリスクを示していただき、対応の重要性を痛感しました。
攻守両面でアップデートのメリットを受けられるように計画的に進めます。

PHPでResult型(クラス)やってみよう

https://speakerdeck.com/higaki_program/phpderesultxing-yatutemiyou-25b011d4-8c63-4a95-8d2c-6d26809dd031
Resultは自分も好きで、パターンマッチとともにPHPに早く導入されてほしい機能です。
言語機能として未実装のなかでResultパターンの実装コードサンプルは、可読性や堅牢性を高める上で非常に参考になりました。

ちょっとした「翻訳ブーム」はこうして始まった

https://speakerdeck.com/jdkfx/tiyotutosita-fan-yi-humu-hakousiteshi-matuta
お世話になっている公式ドキュメントが、有志の方々の活動と工夫によって支えられていることを知って、改めて感謝の気持ちが湧きました。
品質と持続性を両立させるために、他の方が参加しやすい仕組みづくりにまで取り組まれていて、大変感銘を受けました。

PHPコミュニティからやってみたテスターとプログラマーの新たな可能性の探究

https://www.docswell.com/s/55_ymzn/KJ4JV1-phpkansai2025
ちょうどQAとして片足突っ込みだしたところだったので、このような話が効けたのはとてもタイミングが良かったです。
異なる職種の立場で、どういう考えて臨めばいいのか、とても参考になりました。
近々コミュニティにも参加させていただきます。

おわりに

登壇を聞いてくださった皆さま、そして運営スタッフの皆さま、本当にありがとうございました。
このような機会が続くよう、出来る範囲でサポートを続けていければと思います。

最後までお読みいただきありがとうございました。

Booost

Discussion