Skip to content

Language Update PHP (LL2026)

公開日:

東京都大田区日本工学院専門学校 蒲田キャンパスで開催された『Learn Languages 2026』でLanguage Update(15分)として発表しました。

Download PDF

スライドテキスト

Page 1

Language Update PHP

Learn Languages 2026

pixiv Inc.

USAMI Kenta

2026-08-29 #ll2026 #opendevcon

Open Developers Conference 2026

Page 2

お前誰よ

  • うさみけんた (@tadsan) / Zonu.EXE / にゃんだーすわん
  • ピクシブ株式会社 Platform Div > WebTechnology Team PHPer
  • 2012年末から現職、APIとかCIとかいろいろなところを見つめてきました
  • 最近チームが再編されてインフラっぽい仕事もしてます
  • Emacs PHP Modeを開発しています (2017年-)
  • プログラミング言語にちょっとこだわりのある素人 (spcamp2010)

Page 3

コミュニティでは

  • 2016年から毎年PHPカンファレンスで発表しています
  • PHPの言語仕様と構文解析・標準関数などについて
  • PHPのWebフレームワークとコンポーネントの設計・実装について
  • PHPのテストと静的解析・型について
  • Emacs JPというコミュニティをやっています
  • Emacs-PHPというコミュニティでPHP Modeなどをメンテしています

Page 4

Page 5

Page 6

Page 7

PHPやTypeScriptの最新の動的言語の型検査型推論の知見を寄せ集め

Page 8

Page 9

<?php

Page 10

PHPという言語について

  • HTML+Perlっぽい変数$、ちょっとC言語っぽい構文、JavaっぽいOOP
  • RubyもPerl, Smalltalk, Eiffel, Ada, Lisp, …の構文を融合させた

独自の言語を構築できていたことと対比して、PHPはメジャー言語の構文の不器用なデッドコピー感が強かった。

Page 11

ここまでの進化の歴史をまとめましょう

Page 12

HTMLテンプレート

1. PHPはC言語用ライブラリ+テンプレートエンジンだった(mSQL付き)

Page 13

+ 手続き型

2. PHP/FIとして、ほんのりC言語/Perl風味+HTMLテンプレートなスクリプト言語になった

Page 14

+ オブジェクト指向

3. Java風味なクラス/

オブジェクト指向機能が追加

Page 15

結局PHPとは何か

HTMLテンプレート

Perlっぽいスクリプト

JavaっぽいOOP

C言語構文

libc関数

Page 16

いろいろな人の期待と欲望を取り込んでPHPはさらに進化

Page 17

Page 18

Page 19

PHPは誰が開発しているのか

Page 20

Page 21

Page 22

Page 23

PHP 8.0

Page 24

PHP 8.0

Page 25

PHP 8.0

Page 26

PHP 8.1

Page 27

PHP 8.4

Page 28

PHP 8.4

Page 29

PHP 8.4

Page 30

PHP 8.5

Page 31

PHP 8.4

Page 32

2007年 MySQL Conference

“We have things like protected properties.We have abstract methods. We have all this stuff that your computer science teacher told you you should be using.I don't care about this crap at all.”

–Rasmus Lerdorf https://en.wikiquote.org/wiki/Rasmus_Lerdorf

Page 33

2007年 MySQL Conference

“PHPにはprotectedプロパティも抽象メソッドもありますよ。計算機科学の教授が「使え」と言ってるものは全部。そんなことはクソ興味ないですけど”

–Rasmus Lerdorf (tadsanによる超訳)

Page 34

Page 35

Rasmusの作る言語は構文への関心が薄かった

Page 36

出典: 伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる

https://web.archive.org/web/20100501140915/http://anond.hatelabo.jp/20100427231539

Page 37

Page 38

PHPのライセンス変更

  • いままでPHPはApache-1.0派生の独自ライセンスだった
  • 一般的な寛容な自由ソフトウェアライセンスの条件は満たしているが、

OSIの承認を得られていないので微妙に使いにくいものだった

  • PHP 8.6からは修正BSDライセンス(BSD-3-Clause)に変更された
  • “PHP License 4”としてBSDLの文面を指定することで、

PHP License 3.0のアップデート条項を適用して軟着陸した

Page 39

Page 40

Page 41

True-Async

  • シングルスレッドで動くPHPに「真の非同期」を入れようぜというプロジェクト
  • 全てのPHP関数は基本的に全てI/Oでブロックする
  • What Color is Your Function? 問題
  • よくある言語では Promise や async/await で非同期処理
  • True-AsyncではGoroutineに近い方法で処理できるように
  • PHP 9.0とかで入るといいなあ…