PHP 5.3 のリリースにより、このオープンソースの動的言語は過去 2 年間で最も重要なアップデートを受け、新しいバージョンの PHP には多数の新機能が追加され、パフォーマンスが大幅に向上しました。
PHP バージョン 5.3 は開発者の予想よりも大きなメジャー バージョンであり、当初 PHP 6 で登場する予定だった機能がいくつか追加されています。 PHP の新バージョンは、Ruby、Java、.net などの複数のテクノロジーと競合するオープンソース言語としての役割を引き続き果たします。
PHP コア開発者の Ilia Alshanetsky 氏は、「新機能という点では、PHP 5.3 は誰もが予想していたよりも包括的であると言えます。主に PHP 6 のリリースが遅れたためです。したがって、多少リリースされたものの、」と述べています。長い時間ですが、PHP 5.3 は多くの開発者の努力が結集した素晴らしい作品だと思います。」
PHP の最も重要なバージョンと同様に、このバージョンの PHP にも多くの改善が加えられていると述べました。あるいは、開発者がより簡単に開発できるようになります。
PHP 5.3 がアプリケーションのデプロイメントを簡素化する方法の 1 つは、クラスや他の PHP オブジェクトをカプセル化する方法である新しい名前空間のサポートです。
Alshanetsky 氏は、PHP 開発者にとって、名前空間はより明確なコードとより単純な名前規則をもたらすことができると述べました。
「現在、ほとんどのライブラリ作成者は、名前の競合を避けるために、クラス名と関数名にライブラリ名を接頭辞として付けることを余儀なくされており、その結果、かなり厄介な名前になる場合があります」と Alshanetsky 氏は言いました。 「この機能により、クラス/関数名にプレフィックスを付けるなど、必ずしも詳細な命名規則に従う必要がなく、単一のアプリケーションでの複数のライブラリの利用が簡素化されます
MySQL への接続を高速化します」
PHP は、Web アプリケーションを開発するためにオープンソース データベース MySQL と組み合わせて使用されることが多く、オープンソース開発ツールの組み合わせ LAMP の非常に重要な部分です。 MySQLInd と呼ばれる新機能が PHP 5.3 に追加されました。これは、以前の libmysql ライブラリを置き換え、PHP と MySQL を接続するために使用され、MySQL のパフォーマンスとメモリ使用率を最適化する可能性があります。
Alshanetsky 氏は、「データベースに関して言えば、ほとんどの場合、主なボトルネックはデータベース インターフェイスの速度ではなく、標準の libmysql を MySQLInd に置き換えることで速度が向上することは間違いありません。そうなるとは思わないでください。これにより、すべてのアプリケーションの実行が高速化されます。言い換えれば、高度に調整された MySQL アプリケーションを使用している人は、新しいバージョンの PHP のより高速でより特化されたインターフェイスによってもたらされる速度の向上を実感できるでしょう。」
全体的に、Alshanetsky 氏は、現在の PHP 5.2 から PHP 5.3 に移行することにより、ほとんどのワークフローで 5% から 15% のパフォーマンスの向上が見られ、一部の特定のワークフローではさらに高いパフォーマンスが得られる可能性があると予測しています。
E_DEPRECATED は、廃止される予定の機能を示します
新しい機能の追加は新しいテクノロジーのリリースの重要な部分ですが、PHP 5.3 にはそれ自体に特別な点があります。どの機能がキャンセルされる可能性があるかを明確にします。
このリリースでは、どの特定の機能が言語から削除されようとしているかを開発者に知らせるために、E_DEPRECATED と呼ばれる新しいエラー コードが提供されます。
Alshanetsky 氏は、「私たちは以前にもこの問題に遭遇しました。サポートされなくなった機能を示す明確なエラー コードはありません。最終的にどの機能が削除される可能性があるかをエラー コード レベルで判断するのは困難です。」 "
この問題を解決するための専用のエラー コードを作成することで、開発者は PHP のエラー ログ ツールを使用して、コード ベースのどの部分が削除される機能をまだ使用しているかを特定できるため、開発者はそれに応じて調整を行うことができます。
Alshanetsky 氏によると、現在 E_DEPRECATED とマークされている関数は PHP 6 で削除されるということで PHP 開発チームの間で合意が得られています。
【関連記事】