最新のマイナーバージョンであるPHP 8.2の開発がついに完了し,正式版が12月8日にリリースされました.本稿では,リリース前後の状況について紹介しつつ,2022年のPHP関連の話題を振り返りたいと思います.また,次のマイナーバージョンである PHP 8.3の状況についても紹介します.
PHP 8.2の開発状況
最新のマイナーバージョンであるPHP 8.2.0 のリリースが12月8日に行われました.当初,11月24日に計画されていた正式リリースに向けて,PHP 8.2の開発は順調に進んでいましたが,リリース直前に重要度の高いバグがみつかり,リリースを2週間延期すると共にリリース候補版を1回追加するスケジュール変更が行われました.PHP 8.2における改善点および変更点については本稿で紹介してきましたが,主なものを以下に紹介します.
- readonlyクラスの導入
- DNF型の導入
- Null, false, true 型の導入
- Randomエクステンションの導入
- traitsにおける定数の使用
- 動的プロパティの廃止
PHP 8においては,PHP 8.0においてOR論理に相当するunion型,PHP 8.1においてAND論理に相当する交差型(intersection)といった複合型の導入に関する拡張が行われてきましたが,DNF型の導入により,union型と交差型を組み合わせることができるようになり,PHP 8系の型の組み合わせの自由度が完成に近づいたと言えます.
PHPはすでに成熟度の高い言語プラットフォームであり,大きな変更は行われていませんが,より使い安い環境を目指して着実に進化していると言えるでしょう.
今後は,PHP 8.2.x として1ヶ月に一度程度のバグ修正を主目的としたリリースが行われる予定です.PHP 8.2.1は1月5日にリリースが予定されており,セキュリティ関連修正およびバグ修正が行われる予定です.
PHP 7が全てサポート終了
PHP 8.2のリリースとほぼ同時期である11月28日に,PHP 7系の最終バージョンである PHP 7.4のend-of-life(EOL,サポート終了)宣言が行われました.この後,PHP 7系の全てのバージョンでは,セキュリティ修正を含むバグ修正は一切行われないことになります.PHP 7系および以前のバージョンを使う全てのPHPユーザーは,PHP 8系に移行することが強く推奨されます.なお,今回サポートが打ち切られたのは,PHP 7.4に関するPHP開発者によるサポートであり, OSのディストリビューションなどからの(有償または無償の)サポートサービスについては,継続される可能性があります.詳しくは,当該ディストリビューターなどに確認ください.
参考として,PHPの各バージョンのサポート状況と期間について図1に示します.PHPのサポート期間は合計3年とされており,最初の2年はバグ修正,残り1年はセキュリティに関する修正のみが行われます.PHP 8.0以降のバージョンについても同様の期間が適用され,PHP 8.0については,本年11月26日に通常のサポート期間を終了します.この後はセキュリティ修正のみが行われ,2023年11月26日にサポート期間切れ(EOL)となる予定です.PHP 7系とPHP 8系のプログラミング言語として文法上の差異は比較的小さく,PHP 7系で動作するスクリプトは,PHP 8系でも多くの場合問題なく動作すると思われます.繰り返しとなりますが,まだPHP 8系に移行していないユーザーの方は速やかに移行することが推奨されます.
PHP 8.3の開発状況
並行して,PHP 8.3に向けた新機能の提案も行われています.本稿執筆時点では,提案が採用されて実装済みの機能(変更点)は以下の3件です.
- Randomizerモジュールの機能追加
- unserialize()におけるエラー処理の改善
- json_validate関数
この他,議論中の提案の中には,Unicodeテキスト処理用クラスの導入など,注目される機能があります.次回以降の本連載で主要な新機能・更新等について順番に紹介していく予定です.
2022年のPHPコミュニティを振り返る
- PHPカンファレンス2022が3年ぶりの対面開催
新型コロナの流行により,対面でのイベントは2020年以降ほとんど行われていませんでしたが,2022年は感染防止対策を講じつつ徐々に復活しつつあります.日本国内における最大級のPHP関連イベントであるPHPカンファレンス2022年が9月24日(土)および25日(日)に大田区産業プラザPiOで2日間にわたり開催されました.2020年,2021年と2年続けてオンラインでの開催となっていましたが,今回久しぶりに対面での開催(オンライン中継も実施)が復活しました.会場が改装中であったことや新型コロナ感染防止対策のため,トークセッションの数は約40件と開催規模は2019年までに比べてやや縮小しての開催となりましたが,3年ぶりの対面での開催となり二日間にわたり多くの熱いプレゼンが行われました.2023年には「PHPカンファレンス2023」が10月8日(日)に同じ会場で開催される予定です.
- PHP Foundation活動立ち上げ
PHPの開発コミュニティにおいて,2022年は節目の年になりました.PHPの開発者を支援する非営利団体PHP Foundationが2021年11月22日に創設され,多くの企業および個人からの支援(寄付)を得て,開発者の支援を行う活動が開始されました.ここでは,11月22日に発行されたPHP Foundationの2022年の活動報告のサマリを紹介します.
2022の末時点で,PHP Foundationは10名のボランティアの管理者で運営されています.同団体は,外部からの寄付を原資として,2022年4月から6人の開発者の金銭的サポートを行っており,11月までの実績として,PHP本体のソースコード(php-src)のコミット総数の約半分が彼らによって行われているとのことです.同団体が本格的に活動を開始したのは本年4月ですが,すでにPHPプラットフォームの安定化に対して重要な役割を果たしていると言えます.同団体は,Open Collectiveにおいて広く企業・個人からの寄付を受け付けています.すでに寄付金の総額は58万ドルに達しており,1500人以上がコントリビューターになっています.2023年の主な活動計画として,開発者の増員や新機能の提案などを行うとのことです.
昨年は新型コロナの流行が続き,行動が制約される一年となりましたが,ワクチン接種の普及や治療薬の開発等により徐々に落ち着きつつあるようです. PHPは引き続き進化し続ける予定です.