ニュース

「PHP 8.1」がリリース ~PHPの持続的発展を支援する非営利団体「PHP Foundation」も設立

列挙型、交差型、Fibers、読み取り専用プロパティなど新しい言語機能が多数実装

「PHP 8.1」がリリース

 スクリプト言語「PHP」の新しいメジャーバージョン「PHP 8.1」が、11月25日にリリースされた。以下の新機能と改善が導入されている。

  • Enumerations:定数セットの代わりに利用できる列挙型
  • Readonly properties:初期化後は変更できない読み取り専用プロパティ
  • Fibers:非同期コードを手軽に書ける仕組み
  • Pure Intersection Types:交差型。複数の制約を同時に満たす型
  • never return type:呼び出し元に返らない関数の返り値の型「never」
  • First-class Callable Syntax:「Closure::fromCallable」をシンプルに書くための糖衣構文
  • "final" modifier for class constants:子クラスでオーバーライドできないクラス定数「final」
  • New fsync and fdatasync functions:「fsync」「fdatasync」関数を実装
  • New array_is_list function:配列(実体はハッシュ)が0キーから始まるリスト化を判定する関数
  • Explicit Octal numeral notation:8進数を明示するプレフィックス

 以前の「PHP」よりいかにシンプルに書けるようになったかは、リリースアナウンスに詳しい。

First-class Callable Syntax
Explicit Octal numeral notation

 パフォーマンスも向上しており、「Symfony」デモアプリのリクエストタイムではこれまでのバージョンに比べ20%以上もの時間短縮が図られている。

パフォーマンスも向上

 なお、「PHP 8.1」のリリースに先立ち、主要な貢献者であったNikita Popov氏のJetBrains退社と「PHP Foundation」の設立もアナウンスされている。

 著名なOSS(オープンソースソフトウェア)プロジェクトであっても、実体は個人または少数の開発者の貢献――ときには犠牲と表現した方が似つかわしい――でかろうじて成り立っているものはおおい。なかにはメンテナンスする開発者が「燃え尽きて」しまい、プロジェクトが断絶してしまうことも少なくない。

 そうした事態を避けるため、新しい開発者を迎え入れ、既存のメンテナーの負担を減らし、健全な財務状況の下プロジェクトを継続させるために、「PHP」でも財団を設立しようという動きは以前からあったという。しかし、とくに緊急の課題ということもなかったので先送りされていた。

 Popov氏はまだ高校生だった2011年頃から「PHP」に関わっており、3年前にJetBrains社に加わって「PHP 7.4」、「PHP 8.0」および「PHP 8.1」で中心的な役割を果たしてきた。しかし、近年はこれに加え「Rust」や「LLVM」でも積極的に貢献を行っており、とうとう「LLVM」での活動に集中することになったようだ。氏が「PHP」に費やす時間は大幅に減るとみられている。

 主要な貢献者を失ったことは打撃だが、PHP言語の持続的な発展を使命とする非営利団体ができたのは大きな成果といえるだろう。財団にはJetBrains社のほか、以下の企業が参加する。

  • Automattic
  • Laravel
  • Acquia
  • Zend
  • Private Packagist
  • Symfony
  • Craft CMS
  • Tideways
  • PrestaShop

 寄付金は年間で30万ドルを見込んでおり、JetBrains社は10万ドルの拠出を予定しているとのこと。同社は財団へのスポンサー参加を呼び掛けている。