Bkjia が選んだ翻訳] PHP 言語は独自のソフトウェア文化を確立してきましたが、そのとんでもない欠点を見つけるのは決して難しいことではありません。前回の記事では、開発者にとって最も受け入れられない言語の最悪の機能 12 個をリストしました。
しかし、ここ数年で、PHP は言語自体から関連するエコシステム、開発者コミュニティのサポートに至るまで、一連の変化を遂げてきましたが、これらは確かに注目に値します。 PHP を捨てて Python や Ruby に専念したユーザーがすぐに戻ってくる可能性は低いですが、誰かが実際に PHP を改善するために努力を惜しまないという兆候はすでにあります。 PHP 言語に加えられた 4 つの主要な改良点を見てみましょう。
1. ソフトウェアパッケージと依存関係の管理
最近まで、PHP パッケージを管理する唯一の方法は、PEAR (PHP 拡張機能およびアプリケーション ライブラリ) を使用することでした。しかし、PEAR は使いにくく、古くてメンテナンスされていないソフトウェア コンポーネントが多数含まれているため、開発者から長い間批判されてきました。より一般的な PHP フレームワークのほとんどには、CakePHP の Bakery や CodeIgniter の Sparks など、独自のパッケージ管理システムがありますが、PHP 全体を管理する機能はほとんどありません。
この領域における最大の変更は、Node.js の NPM システムと Ruby の Bundler の優れた要素を吸収する Composer によるものです。プロジェクト ベースでパッケージを追跡するため、開発者は特定のプロジェクトに必要なパッケージを特定し、自動化された方法でインストールすることが容易になります。これは、一般的に使用される多数の PHP アプリケーション、フレームワーク、コンポーネントがすでに含まれている Packagist と呼ばれるライブラリと連携して動作します。
2. ハック/HHVM
PHP が受けた他の 2 つの最も重要な変更は、PHP 自身のシステムの外部から来ています。より正確には、Facebook から来ています: ハック言語と HHVM (ヒップホップ仮想マシン)。前者は PHP のマントルを継承し、静的オブジェクト型など、デフォルトでは PHP で実装できない一連の関数を追加します。後者は、PHP コードを C++ コードにコンパイルして実行を高速化し、最終的には元のパフォーマンス レベルをほぼ 10 倍にすることができます。どちらも比較的新しいイノベーションであるため、PHP への長期的な影響はまだわかりません。しかし、少なくとも、主流の Web サービス大手が PHP に対して強い関心と真剣な姿勢を示しており、したがって、選択したプラットフォーム ソリューションとして PHP を使用していることを示しています。
3. PHP-FIG
退屈しのぎのおやつのように聞こえますが(Figはイチジクの意味です)、実際にはPHPフレームワークプログラム群であり、PHP開発者が開発を構築するために作成した標準(独自のプロジェクトを一貫した方法で開発する方法を含む)をまとめた技術的なものです。成果。 CakePHP、Drupal、Joomla、SugarCRM などのプロジェクトの技術スタッフが正式にグループに参加し、コーディング スタイル ガイド、ライブラリ ログイン インターフェイス、クラスの自動読み込み待機の処理方法など、多くの日常タスクに標準化されたメカニズムを提供しました。
このグループは完全に任意団体であり、正式な組織ではないと言えますが、「時間の経過とともに、その対象範囲がより広範囲のプロジェクト領域に拡大される」ことを望んでいます。
4. Phpng プロジェクト
PHP 言語オントロジーの更新バージョンを開発することは、言語に包括的な改善をもたらすもう 1 つの優れたアイデアです。 Phpng として知られる PHP 開発のこのブランチには、特定の操作に必要なメモリ量と、特定の操作を完了するために必要なマシン命令の数を明確にすることを目的とした多くの改善が含まれています。作業の多くは、PHP ベンダー Zend Technologies によって後援されました。Zend Technologies の PHP エンジンは、この言語の商用インストールで広く使用されています。
もちろん、これらの改善のほとんどは、よく嘲笑されている PHP 言語の文法的特徴を変更するのではなく、パフォーマンスを向上させるだけです - 残念ながら、これらの問題が解決される兆候はまだありません。おそらく、PHP の次の大きなイノベーションは、Hack ほど破壊的なものではなく、ネイティブ コンパイル効果を実現できる JavaScript 拡張機能のような翻訳言語に近いものになるでしょう。
英語: http://www.infoworld.com/t/php-web/4-ways-php-coding-getting-less-painful-245435