これらすべての記事の最大の問題は、それらを書いている人々が昔のPHPにこだわっていることです。
これは彼らを煩わせないか、それを認識したくないが、PHPは言語としてもコミュニティとしても非常に速いペースで進化しています。
さらに、PHPは他のどの言語やプラットフォームよりもはるかに高速に開発されています。 もちろん、これは必ずしもそうではありませんでしたが、過去5年間はPHPにとって本当に素晴らしいものでした...
近年のPHPコミュニティの成果についてお話しする前に、興味深い数字を見てみましょう。PHPは、プラットフォーム言語が知られているすべてのサイトで77.9%がメイン言語として使用されています。 Wordpressは、世界中のすべてのサイトの16.6%で使用されています。 トップ3のCMSを見ると、Wordpressは54.3%で1位、Joomlaは9.2%、Drupalは6.8%で2位です。 PHPで作成された上位3製品。
これは偶然ではありません。PHPでは、明らかに何かが正しく行われますよね。
PHPの成功の秘secretを少し教えてください。近年のすべての変更にもかかわらず、PHPは、技術に詳しくない人々が学ぶのに最も簡単な言語です。 PHPを使用すると、他のどのテクノロジーよりも高速に動的なWebサイトを作成でき、問題なくサイトを安価に作成できます。 PHPは設計の面では世界で最も優れた言語ではない可能性がありますが、PHPを使用するとすぐに目標を達成でき、議論することはできません。
PHP:言語
PHP 5.0(2004年にリリース)は、安定したオブジェクトモデル... stop stopを導入しました。 ほぼ8年前の話です。 現在に戻りましょう。
PHP 5.4の現在のリリースには、最新のWeb言語を使用して夢見ることができるすべての利点があります。はい、PHPは名前空間をサポートしています。 はい、PHPはクロージャをサポートしています。 はい、PHPは特性をサポートしています。
時間がかかりましたが、PHP 5.4には構文上の砂糖が含まれているため、開発プロセスが改善されます。はい、PHPは配列を示す[]をサポートしています。 はい、PHPは作成されたオブジェクトのメソッド呼び出しをサポートしています((new Foo())-> bar()); はい、PHPは任意の式($ foo-> bar()[1])からの配列要素の呼び出しをサポートしています。
PHPでは、彼らは間違いから学びます。register_globalsとmagic_quotesは、gibletsで削除されます。
そして最後に、PHPにはローカルテストを簡素化する組み込みのWebサーバーがあり、数ミリ秒で起動します。
未来への挑戦:インターネット上のすべてのPHPガイドを「更新」する方法 PHPプロジェクトでWebソケットをサポートする最良の方法は何ですか?
PHP:エコシステム
良い言語はクールですが、素晴らしいエコシステムはさらにクールです。 また、PHPエコシステムは近年大きく進化しています。
Git
この段落の詳細には触れません。 Gitはどこにでもあり、PHPの世界に急速に参加しました。 PHP自体を含む、ほぼすべての主要なPHPライブラリ、フレームワーク、および製品がGitを使用しています。
作曲家
2年前、プラグインをサポートするためにsymfony 1で使用したひどいPEARハックを本当に取り除きたかったのです。 プロジェクトレベルで依存関係を管理でき、PEARのようなグローバルインストーラーを持たないものに置き換えたかったのです。 依存関係の管理は簡単な作業ではないため、それを解決するための最適なアルゴリズムを見つけようとしました。 私は、PerlからRuby、DebianからRedHatまで、すべてを見ました。 満足できるものはありませんでした-経験的に... それからZYppに出会いました 。 それでした。 ZYppは、 SATアナライザーを使用して依存関係を管理します。 そして今、 Nils AdermannとJordi Boggianoの 膨大な作業のおかげで、PHPには最高の依存関係マネージャーの1つであるComposerがあります。
はい、PHPにはすべての言語の中で最も優れた依存関係マネージャーがあります。
また、Git、Composer、および組み込みのPHPサーバーのおかげで、PHPプロジェクトのダウンロード、インストール、およびテストはそれほど簡単ではありませんでした!
(PHP 5.4を使用して)Symfonyを試してみませんか?
$ composer.phar create-project symfony/framework-standard-edition $ cd framework-standard-edition $ ./app/console server:run
Silex?
$ composer.phar create-project fabpot/silex-skeleton $ cd silex-skeleton $ php -S localhost:8888 -t web/
Composer? . Packagist — Composer: 1900 3 .
: Composer PHP?
— , , . PHP , , , , , .
phpBB, Drupal, ez Publish, Symfony, phpDoc, PHPUnit, Behat, Zikula, Propel, Doctrine, Midgard . , «», — . Composer .
: ?
:
PHP, , , , , PHP — … .
P.S. PHP is much better than you think, Fabien Potencier. , , .