PHP について最も印象的なことは、それをうまく使用するために言語を深く理解する必要がないということです。考えてみてください。これができる言語をいくつ知っていますか?最も明白なものの 1 つは Java です。Web アプリケーションの作成はもちろんのこと、Hello World をプログラミングするだけでも多くの知識が必要です。しかし、PHP の場合、これらは問題外です。
悪い動作へのアクセスに関しては、PHP が Perl よりも少し優れていると言うべきです。 Web の初期の頃、最終的には失敗することがわかっていても (説得する方法もなかったので)、Perl で大規模なプログラムを作成するつもりだという人々の話をよく聞いたのを覚えています。
その一方で、PHP には Drupal などのより大きなプログラムを作成する機能があります。私の友人のナンシー・ニコライセン (ここでもブロガーです) が旅行 Web サイトを構築したいと言いました。 そこで私は彼女に Drupal を検討するよう提案しました。彼女はそうし、最終的にそれを選びました。彼女の意見では、Drupal のユーザー コミュニティは非常に優れており、サイトのセットアップとスムーズな立ち上げに多大な助けとなったからです。
PHP を使用すると、初心者でも複雑なプログラミング理論や実践方法を心配することなく、興味のあることをすぐに始めて直接実行できます。実行するだけで、ウェブ上で欲しいものを手に入れることができます。
しかし、これはこの言語の問題でもあります。完全に間違った PHP 実装の例がたくさんあることがわかります。通常、問題が何であるかを誰も知らなかったために、相互にコピーした人々によって書かれています。私が最初に使用した例の 1 つは、PHP のファイル ロックでした。結果として、多くのものが見つかりましたが、正しいものはどれもありませんでした。実際、PHP は主に、すべての一貫性の問題を処理できるデータベースで使用されるため、低レベルの問題について考える必要がありません。しかし、プログラミング言語はデータベースとの高レベルの対話とファイル システムとの低レベルの対話を同じ方法で処理するため、初心者が必要とする「ドラゴンが来た」という兆候はありません。コミュニティには「栄誉に座っている」人が多すぎて、基本を本当に知っていて理解している人はほとんどいないように感じます。そのため、ほとんどの人が関心を持たないこの領域に、無知な状態の人々が侵入し、悪用する事態が発生しています。
その後、C++とJavaの集大成であるPHP5が登場しました。この機能の強力さは刺激的でしたが、人々が詳細や言語への影響を深く考えずにすべての機能を利用できるように見えるのではないかと、私はますます懸念を感じてきました。それどころか、私は 10 年以上にわたり、Python 言語で行われるあらゆる賢明な選択を観察してきました。時間が経てば、PHP コミュニティがこれらすべての機能を活用する方法を見つけ出すかもしれませんが、私には疑問があります。
一方、更新が遅い私の新しいサイトでは PHP を使用しています。問題は、私がそれを非常に小規模でしか使用していないということです。たとえば、PHP は、ファイルを簡単にインクルードできない低レベルの HTML の問題を解決できます。 PHP はそれを実現し、私のデザインをサイト全体に簡単に展開できるようにしました。場合によっては、自分で作成したちょっとしたものをページに埋め込みたいことがあります。これは PHP が得意とするところです。
ただし、目標がもう少し複雑になったら、すぐに Python に移行した方が良いと思います。したがって、PHP はまだ狭い範囲のアプリケーションに限定されており、広範囲に使用するつもりはありません。