以後 ピーエッチピーエス 2004年にリリースされた5、2015年12月に発売されたバージョン7は、約10年ぶりのPHPの革新です。バージョン6も当初は計画されていましたが、開発は中止され、代わりにいくつかの改良がバージョン5のリリースに組み込まれました。バージョン6の失敗後、新しいバージョンのPHPがそれまでの名前宣言を引き継ぐべきかどうかで開発者の間で意見が分かれましたが、運営側の過半数が新しいバージョン番号で名前を継続することに投票しました。失敗したバージョン6も会社のイメージに傷をつけてしまったので、質的な機能を備えたPHP 7を提供するための努力がなされました。
大型スプリングクリーニング
再起動するためには、最初に古い機能を削除する必要がありました。大規模なクリーンアップ作業では、整備されなくなったソフトウェアのインターフェースが削除され、様々な機能が完全に削除されました。時代遅れの機能の多くはすでにエラーメッセージを発生させており、それらを削除することで、プログラマーは時代遅れの機能を使って作業することができなくなり、エラーが発生した場合には二度手間になってしまうことになります。また、変数の構文が統一されたスキームに持ち込まれましたが、これは式のセマンティクスを変えることにもなるので、プログラマーは今後注意しなければなりません。しかし、PHP 5はすでにこのような複雑なシステムになっているため、部品をいじるよりも部品ごとに書き換える方が理にかなっていることが多いため、この春のクリーンアップは簡単ではありませんでした。
FacebookとPHP 7
PHPは他の言語の影響を受けて、他の言語にも影響を与えます。中でも、ハックは、開発に使われた言語である フェイスブック はPHPをベースにしています。PHP 7では、型の多様性など、開発者はFacebookの開発言語の一部もコピーしています。そのため、バージョン7では、特にいくつかの新しい戻り値の型や、プログラミングをより構造化して簡単にすることを目的とした他の新しい型が含まれています。Facebookは、Hackを実行するために使用される仮想マシンが標準的なPHPコードをベースにしていることから、2つの言語が似たような方向に動いていることに間違いなく興味を持っています。そのため、元々派生していたPHP言語のHackの一部の要素は、現在のバージョンにも含まれています。
ユニコード対応
PHP 7 の最も重要な新機能のひとつは、Unicode のサポートが向上したことです。Unicodeは、異なる言語の文字の標準化として、グローバル化の時代にはプログラミングに欠かせない要素となっており、その結果、異なる言語でのバージョンの提供が可能となりました。これはプログラミングにとって非常に重要な要素ですが、これまでプログラミングコミュニティではあまり議論の対象になっていませんでした。
その他の新機能
もう一つの重要な特徴は、PHP 7の速度が以前のバージョンに比べて格段に速くなったことです。これは、陳腐化した機能が削除されただけでなく、ハッシュテーブルを使用しているため、実行速度が格段に速くなっていることに起因しています。改良されたインデックス構造により、特定の データ特に、PHP のような複雑なシステムを扱う場合は注意が必要です。また、前バージョンから1万件以上のバグが修正され、64bitシステムへの対応も含まれています。
乗り換えのコツ
2016年8月にPHP 5のサポートが終了するため、プログラマーは新バージョンに切り替えるまで1年弱の猶予があります。このようにサポートがすぐに終了したことで、開発者はバージョン5で作ったのと同じミスをしたくなかったのです。移行の間、プログラマーは主に自分自身で古いコードを削除し、もちろん将来的にそれを使用しないようにしてください。独自のセマンティクスにより、複雑な構成要素が不要になったり、使用頻度が低くなったりして、コードがより読みやすくなりました。新しいデータ型などのキーワードが追加され、PHP 7では他のプログラミング言語でも使われている一般的な用語をそのままにしています。