採択
パンフ記事(4ページ)

Quine を書こう〜自己を出力する不思議なプログラム〜

nsfisis nsfisis

Quine とは、自分自身のソースコードと一致する文字列を出力するようなプログラムのことです。
PHP なら、

$ php a.php > output.txt

と実行したとき、output.txt と a.php が完全に一致するような a.php を「Quine」と呼びます。
一見すると不可能にすら思えますが、実のところほとんどの言語で簡単に書くことができます。

この記事では、基本的な Quine の書き方をいくつか説明した後、それを応用して更に面白い挙動をする Quine を書く方法について紹介します。

話すこと

  • Quine とは
  • Quine の作り方
  • 応用 Quine
    • Quine アスキーアート
    • 変化する Quine
<?eval($s='printf("<?eval(\$s=%c%s%c);\n",39,$s,39);');
4
パンフ記事(4ページ)

Magoの手も借りたい

tadsan うさみけんた

世は大酸化時代!
昨今、さまざまな言語のためのツールチェーンをRustで書き直すムーブメントがあります。

PHPにもMagoというプロジェクトがあり、非常に高品質かつ高機能な製品が既に実用レベルに達しています。
この記事ではMagoの機能について既存の各種フォーマッター・静的解析ツールとの違いを紹介します。

4
採択
パンフ記事(4ページ)

カンファレンスが終わったあとに

app1e_s meihei

PHPerKaigi 2026 楽しかったですかーー!!! \全員「はーーい!!」/

楽しかった思い出を残しつつ、学んだことを今後の成長に結びつけましょう!
このパンフレット記事では、PHPerKaigiを含むカンファレンスに参加したあとにすぐにでも行える、是非やって欲しい事を紹介します。

個人で

  1. 発表を見返してみよう
  2. ブログを書いてみよう

会社で

  1. 同僚に発表をオススメしてみよう
  2. 振り返り会をやってみよう
2
採択
パンフ記事(4ページ)

FrankenPHPソースコードリーディング - $_POST までの道 -

k1LoW 小山健一郎

FrankenPHPをご存知でしょうか?(前回のPHPerKaigi 2025に参加された方はご存知かもしれません)

公式サイトによると "「Go」で書かれたモダンな「PHP」アプリサーバー" だそうです。
どういうことでしょう???

「CaddyにPHP実行環境を組み込んでいる」 ... あ、Caddy知ってる。

あ、そういえば私Goチョットヨメル。

ということで、FrankenPHPを全く知らない、PHPerなGopherがFrankenPHPソースコードリーディングをしていきます。
目標は「HTTPリクエストから$_POST までを読み解く」!!

果たしてPHPまで辿り着けるのか?(筆者が)苦手とするCgoの壁を超えることができるのか?

git clone https://github.com/php/frankenphp.git # !!!

(注意:これはソースコードリーディング読み物です。いちソフトウェアエンジニアがどうやってコードを読み解いて目的を達成するのかを楽しむものとなります。FrankenPHPを正しく理解したい人は他のドキュメントを参照しましょう)

7
採択
パンフ記事(4ページ)

上司や同僚に「なんでPHP使うんですか?」って言われたら見せる用の記事

saita_shinya 斉田真也

この現代でAIも盛んに使われる用になった中、「この言語じゃないとダメな理由」というのはかなり無くなってきてる気がします。

逆に言えば、言語の多様性がどんどん高まっている状況。
でもそうなってくると、出てくる一つの疑問「なんでPHPを使う必要があるのか?」
これを聞かれた時に「いや、それはね・・・」とかっこよく説明したいですよね。
欲を言えば、もうこれを見せるだけで終わらせられるような記事が欲しいですよね。

今回のPHPerKaigiのパンフレットはもれなく持ち帰りましょう。
そして、このパンフレットに書かれた記事を見せて「見てみて、こんなメリットがあるよ!」とプレゼンしましょう。
そのための記事を提供します。

3
パンフ記事(4ページ)

プログラマーから見たビジネスロジック再発見

smeghead しめじ(smeghead)

「技術より業務知識が大事だよ」

20年以上前、技術の理解を深めれば良い仕事ができると考えていたジュニアプログラマーとしての私に、先輩が言った言葉です。当時は「業務知識が大事」と言う言葉自体の意味は理解できるしその通りであると思う一方、プログラマーとしての担当していた仕事内容から考えると実感として理解することはできずにモヤモヤしたものを感じていたのを覚えています。
今振り返ると、これは“ビジネスロジックと向き合う姿勢そのもの”に関する示唆であったと理解できるようになりました。

しかし、プログラマーにとってビジネスロジックはしばしば掴みどころがありません。仕様書やソースコードには結論だけが記述され、その背後にある意図や価値基準は薄まり、画面やDBの制約と混ざった断片として現れます。
特にジュニアプログラマーは担当範囲が限定されているため、言ってみれば視野が狭い状態から作業を始めることになります。ジュニアプログラマーにとって、ビジネスロジックを解像度高く把握するのが非常に難しい事であるというのは、自然なことなのかもしれません。

本記事では、この“プログラマーから見たビジネスロジックの掴みにくさ”に正面から向き合い、視点をアップデートすることを試みます。RUP(Rational Unified Process)が体系化した“ステークホルダー”という概念を参考に、ビジネスロジックを形づくる意図の源泉を理解するためのヒントを紹介します。要件定義の専門的な話ではなく、「プログラマーとしてどう捉え直せるか」が主題です。

4
採択
パンフ記事(4ページ)

パッケージマネージャNixで実現する宣言的でクリーンなPHP開発環境の構築

takeokunn たけてぃ

本文

「このプロジェクトはPHP 8.3、あっちは8.1、拡張モジュールも違う…」

複数プロジェクトを抱えるPHP開発者にとって、環境管理は悩ましい問題です。
Homebrewでバージョンを切り替えればグローバル環境が汚染され、Dockerを使えばオーバーヘッドでネイティブより動作が遅くなる。

本記事では、第三の選択肢としてパッケージマネージャ「Nix」を紹介します。

Nixは純粋関数型言語で設計されたパッケージマネージャで、「同じ入力からは常に同じ出力」という再現性を保証します。
仮想化を用いずにプロジェクト単位の完全な環境分離を実現し、ネイティブな実行速度を維持したまま、PHPバージョンや拡張モジュールをプロジェクトごとに宣言的に管理できます。

「開発環境構築のIaC(Infrastructure as Code)」を実現するNixで、チーム全員が同一環境で開発できる世界を体験してみませんか。

パンフレット記事に記載すること

  • 命令的管理(Homebrew)と宣言的管理(Nix)のアプローチの違い
  • Nix Flakesを用いた、PHPバージョン・拡張モジュールの具体的な定義手法
  • direnvとの連携による、ディレクトリ移動だけで環境が切り替わるシームレスな開発体験
  • Dockerとの比較と使い分けの指針
  • etc...
2
採択
パンフ記事(4ページ)

PHPerKaigiのあるきかた

asumikam asumikam

あなたのPHPerKaigiは、今年で何回目ですか?
はじめてのドキドキ、2回目の成長した自分との再会、3回目からの“ただいま”感…。
もしかしたら、毎年皆勤賞で、すっかり“ホーム”になっている人もいるかもしれません。

私自身、PHPerKaigiだけでなく様々なカンファレンスに参加してきましたが、
いつも思うのは「最初にこれ知ってたら、もっと楽しめたのに!」という小さなヒントやコツの存在です。

そこで今回は、私が「最初に知りたかった!」と思った PHPerKaigi の楽しみ方のコツをパンフレットとしてお届けします!

こんなことを書きます!

  • ワクワク前準備
  • スポンサーブースの歩き方
  • セッション&フィードバックの楽しみ方
  • 懇親会で広がる交流のヒント
  • 「楽しかった」を広げるブログ術

もちろん、楽しみ方は人それぞれ。
この中からひとつでも「いいな」と感じるものがあれば、あなたのPHPerKaigiに少しだけ取り入れてみてください!!

7