マジかよ知らんかったぜ。
https://code.aetheria.jp/13974/
PHP 9は、これまでのPHP 8シリーズが築き上げた基盤をさらに強固にし、Webアプリケーション開発の最前線に立ち続けるための重要なマイルストーンとなりました。
開発者の利便性を追求した新機能が数多く導入され、コードの記述量は減りつつも、その表現力と堅牢性は飛躍的に向上しています。
本記事では、PHP 9で導入された主要な新機能や、型システムの進化、そしてパフォーマンスを劇的に改善する内部エンジンのアップデートについて詳しく解説します。
プロパティフックによるアクセサ設計の革新
PHP 9で最も注目される新機能の一つが、「プロパティフック(Property Hooks)」です。
これまで、クラスのプロパティに対して値の設定時や取得時にバリデーションや加工を行いたい場合、getterやsetterを手動で定義する必要がありました。
プロパティフックを使用すると、プロパティの宣言と同時にその挙動を定義できるため、コードが劇的にスッキリします。
インターフェースでのプロパティ定義
PHP 9では、インターフェース内でもプロパティの要件を定義できるようになりました。
インターフェイスでのプロパティ定義もPHP8.4です。
プロパティフックをインターフェイスにも書けるようにするためにいっしょに対応されました。
非対称な可視性(Asymmetric Visibility)の導入
PHP 9では、プロパティの「読み取り」と「書き込み」に対して異なるアクセス権限を設定できるようになりました。
これを「非対称な可視性(Asymmetric Visibility)」と呼びます。
非対称可視性に対応したのもPHP8.4です。
配列の新しい並べ替えとフィルタリング
配列操作において、元の配列を破壊せずに新しい配列を返す「非破壊的メソッド」が拡充されました。
// PHP 9で追加された非破壊的なソート
\$sortedData = array_to_sorted($data);
関数array_to_sortedはPHPには存在しません。
非破壊ソートについては、internalで提唱されたことくらいはあると思いますが、RFCが提出されるところまで行ったことはありません。
さらに言うと、PHPどころか他の言語でもtoSortedなど異なる名前になっており、同一メソッド名はTishというよくわからない言語にしか存在しないようです。
ハルシネーションにしても何処から来たのか謎に過ぎる。
その他
それ以外にも大小さまざまにひっかかる部分があるのですが、具体的な名前やコードがほとんど明示されていないのでなんとも言えないんですよね。
たとえば例外(Exception)オブジェクトに、発生時のコンテキスト情報をより詳細に保持できるようになりました。というテキストがありますが、PHP8.5でスタックトレースが出るようになったのでこのことかと思われますが、はっきりしませんね。
まあなんにせよ、PHP9はリリースの予定どころか影も形も存在しないので、根本的に記事の全てが間違っているのは間違いありません。
PHP9のリリースはいつ?
2026/08/03時点では未定です。
PHP8.6は2026/11/19にリリースされる予定です。
そしてその次のバージョンですが、PHP9なのかはたまたPHP8.7になるのかはまだ決まっていないみたいです。
externalとか見ていると8.7になりそうな雰囲気はしますが、言語も異なる外野がそう感じただけなので実際どうかはよくわかりません。
感想
他の記事も軽く見て回ったところ、毒にも薬にもならないどうでもいい水増し記事が目立つものの、ここまで派手に間違っている記事はそんなになさそうでした。
どうしてこの記事だけこんな暴走したのかは謎。
PHP 8.x以降で導入検討?パイプライン演算子の現在地と代替案の記事は、2026年時点では明確に間違いですが、10年前だったら間違ってなかったかもしれない。
