ページ

2025年6月28日土曜日

PHP Conference Japan 2025に参加して(2025/6/27-28) #phpcon

PHP Conference の参加は4度目(前回 2024年の体験ブログ)。

前回は大阪で参加し、今回は東京(京急蒲田の大田区産業プラザPiO)。東京での対面参加は 2013の WordCamp Tokyo 2013&PHP Conference 2013共催に初参加であり、じつに12年ぶりのことです!2013年と同じ会場を訪れてその準備状況をみていると当時のことを思い出してきました。

新幹線で京都方面から品川駅に到着間近。景色が良かったので撮影したのでした。

今回は前日の夕方に京急蒲田に訪れ、少し商店街などを散策しました。

夕食は、京浜蒲田商店街 あすと(Google Maps)にある、すしやコトブキ蒲田店(Google Maps)で「なだれ寿司」という名物品を食べました。ボリュームがありましたね!

その後、南蒲田北野神社(Google Maps)に立ち寄りました。



その神社近くにある川は海とつながっているからか、潮の匂いっぽいのがしたような気がしました。





宿泊ホテル:京急 EXイン 京急蒲田駅前



部屋はビジネスホテルにしては若干広い感じでした。それよりも大浴場があり、男女とも化粧水や乳液まで置いてあるのには驚きました。しっかりと体を洗って、風呂につかって大満足しました!やはりシャワーよりも大きな風呂はよかったですねぇ。


午前:PHP Conference Japan 2025


以下、筆者が読み取った発表者の内容をメモしておきます。筆者が読み取ったということですので、誤って読み取った場合、発表者の意図しない内容になっている可能性はあります。その点はご了承ください。また全部をメモしているわけではなく、キーワードになる言葉だけをメモしている場合や他の作業をしてしまっている場合にはメモなしの場合もあります。

また筆者のコメントは # をつけています。


Opening



2000年から開催されて、今回26回目とのこと。

基調講演「PHPの今とこれから」



プログラム:https://fortee.jp/phpcon-2025/proposal/ba73ff87-93ff-4772-8003-43f246a310ae

PHP言語は、Webアプリケーションとして約75% のシェアを誇っている。

https://w3techs.com/technologies/overview/programming_language をみると、2025年6月27日時点で 74%になっていますね!

PHPが発展してきた経緯について説明。5.4ぐらいからユーザーがかなり増えてきたとのこと。

7で大幅に高速化をして、8 からJIT導入(プログラムを高速に実行させる機能)が入った。

PHP 7を含むそれ以前の利用が結構多い。WordPress は 7.4 以上が必須となっている。

PHPのサポートサイクルは4年になっていたが、昨年度からその年の年末まではサポートされるように若干延長された。PHP8.1 のサポートもそろそろ切れそう

セキュリティ脆弱性について、CVEがつくものは、速やかな更新が必要。

PHP 8.5 リリース計画と開発

2025/11/20 予定。

パイプ演算子(|>)で処理を一連の処理に統合できる。

#関連情報

プロパティプロモーションで final が利用可能に

クローン実行時のプロパティ設定

 clone_withの引数を設定できて、クローンするときに完全複製以外ができる。
 https://wiki.php.net/rfc/clone_with_v2

重要な場合を返す場合、戻り値を無視できないことを意味するアトリビュート


AIエージェントはこう育てる:GitHub Agent導入・活用・共進化のリアル by コボリアキラ



プログラム:https://fortee.jp/phpcon-2025/proposal/8c92aa90-8036-45eb-82f0-c447e0b19678

資料:https://speakerdeck.com/koboriakira/aiezientohakouyu-teru-github-copilot-agenttotimunogong-jin-hua-saikuru

この時点では、Claude Codeの導入検討をすべいかもしれないということ。

新しいツールの導入には、少なからずハードルがある

  • Step 1. Agentの導入
  • Step 2. prompt の整備
    • Issue の作成、Pull request の作成が効果がある
       面倒なのでやぼりやすい傾向があるから
    • 入力必須な指示を減るように工夫する
      • 期待値だけ示し、現状や課題はAgentに考えさせる
    • 次のプロンプト実行にスムーズにつなげる
      • Issue 作成プロンプト内で、開発ブランチんお提案およびその Issue を解決する
    • 練習用ディレクトリも用意する
      • 本番の前にまずは個人で試すことが大事
  • Step 3. instructionのメンテナンス(出力には限界がある)
    • ***までは出来るけれど、◯◯◯はできないこともある。
      • ひとつの作業指示やPRごとに検討
      • そのためのプロンプトを準備してしまうのが面里
AIエージェントをつかう、つわないなど、スキルの差が生まれないように導入するなら全員でやるのがよい。

ちいさくPHPUnitをつくり、仕組みと拡張ポイントを探る by asumikam



プログラム:https://fortee.jp/phpcon-2025/proposal/dc468fc0-d847-4ee5-8b3c-6a9ece13997e

実際にライブコーディングをする



などなど。

ランチタイム


昼食:煮干し和渦製麺




PHP Coference Japan 2025 の受付でもらった周辺マップに掲載されていたラーメン屋を訪れました。煮干しラーメンは前回いつ食べたか忘れたほどの久しぶりだと思います。
細麺でも、こしのある麺。またスープも美味しかったです。


追加でチャーシュー丼を頼みました。こちらも美味しかったです〜。



蒲田八幡神社で御朱印第1号!



今年50歳になることを節目に、御朱印帳を用意して御朱印をしていくことにしました。出張や旅行先の開いている時間に神社にいくことも少なくないこと、最近亡くなった親族が若い頃から御朱印集めをしていることをみて、やってみようかなぁと思ったのでした。



その記念すべき第1号が蒲田八幡神社となりました!


スポンサーブース巡り&スタンプラリー



各ブースのアンケートをかくと貰えるノベルティグッズの質が高い!
Samuraism のブースでUSB充電アダプタが抽選であたってしまいました!
いろいろなものをいろいろくれるので PHP Conference でもらった手提げカバンに入り切らなくなりました。
ブースにて WordPress コミュニティ や WordCamp でご一緒したり、そこで活躍されている角田さん( @ippey_s )と出会う。


スポンサーブースのノベルティグッズについて、大きいものは上の写真の通りで、結構いいものがたくさんもらえました!

午後:PHP Conference Japan 2025


MySQL5.6から8.4へ 戦いの記録 by よしだ




プログラム:https://fortee.jp/phpcon-2025/proposal/26e2007c-7297-4740-94d0-917a9d4bb1b6

# 筆者は MySQL 5.7 からようやく 8.0 にアップグレード完了したばかり(さくらインターネットのレンタルサーバー上)。


怖くないComposer by 雫石




composer を使わなくても製品を作れるが、「ツラい」。バージョン管理やライブラリを手動で配置する必要があるなど。

# 筆者は、GitHub Actions で WordPress のプラグインを PHP Unit によるテストをするときに利用している。

composer のデフォルトリポジトリは、数十万の PHPパッケージがあり、ほしいものは大抵ある。

途中から composer を入れるのは難しくないのか

 require 'vendor/autoload.php';

をいれたら、特に副作用無く導入可能なはずである。
障壁は、プロジェクト主導者の精神的な障壁の方が高い(責任とれるの?大丈夫などの心配がある)

Composer は Class が記述してあるファイルがどのファイルパスにあるかのマップみたいなもの。
未定義な Class が参照されたとき、、そのマップからファイルパスを取り出す require することになるので負荷は大きくない。

composer.lock ファイル

 composer install するときに自動生成される。手動書き換えすると駄目!
 このファイルが無い場合には、新規で生成。あれば、そのパッケージがインストールされていく。

おすすめインストール(本番用。APCuのこと詳しくなければ、apcuオプションは使わないほうがいい。いろいろ技術的にやらないといけないことがあるため)

composer install --no-dev --optimize-autoloader --apcu-autoloader

パッケージの取捨選択が重要
 ほしい機能があるとして、その機能を含むさらに多くの機能がある大きなパッケージの場合、それらすべての機能の深い知識を保つ必要があり(# セキュルティ問題やパッケージの問題かどうか把握する必要ありか。)、それが難しいため。

いまやほしい場合、検索しなくても生成AIで候補を素早くだせる!

--

そんなこんなで今年の PHP Conference Japan 2025 参加は終わりました。また来年機会があったら最新のPHP動向を知るためにも訪れたいと思います!

2025年6月28日 @kimipooh