部屋の青い象:PHPが今や未来に見落とされるべきでない理由

Webを閲覧していると、「PHPはかつての姿ではなくなった」という意見や、2000年代のトップポジションが取り返しがたいとされることがしばしばあります。「PHPは死んだのか?」は、このプログラミング言語に関する別の記事のために、もしかすると最も有名な見出しです。確かに、現代の現実は新しいツールを要求しますが、替わりの利かないものもありますし、PHPはその一つです。過去のリーダーとして、今でもそのポジションを保っています。

この記事では、古いPHPが新技術の増加に対抗し続けるだけでなく、さまざまな複雑なウェブプロジェクトを作成する開発者にとって最良のアシスタントである理由を説明します。

その根本

結果が手段を正当化するだけでなく、それを定義することもします。PHPの全体の進化は、最初に作成された目的と直接関連しています。PHPがウェブ開発で人気であり続ける理由を理解するために、その起源に戻り、そのルーツを理解しましょう。

PHPは1994年に最初の誕生日を迎え、デンマークのプログラマー、ラース・ラースフォルフが自分の経歴を管理し、ウェブサイトへの訪問を追跡するためのC言語のプログラムセットを作成することに決めたときに始まりました。これがその名前の由来で、最初はPersonal Home Page Toolsでしたが、ラースがコードを公開し、全世界で知られるようになった後は、PHP: Hypertext Preprocessorとして知られるようになりました。

PHPは、当初からWebプロジェクトの基盤として開発されました。長年にわたり、PHPは多くの変化を遂げ、ウェブページを管理するための単純なスクリプト群から、最も複雑なウェブプロジェクトに使用される本格的なプログラミング言語へと進化してきました。

シンプルで柔軟な言語であったPHPは、何千人ものプログラマーを魅了し、迅速かつ容易に動的なWebサイトを作成することができました。重要な利点は、HTMLマークアップに直接コードを埋め込むことができ、動的なWebページを作成する際に、これまでにないシンプルさと柔軟性を提供することでした。Laravel、Symfony、WordPress、Drupalのような人気のあるフレームワークやコンテンツ管理システムの登場は、市場におけるPHPの地位をさらに強固なものにしました。

これらのツールは、初心者にも経験豊富な開発者にも絶大な人気を誇っており、PHPの評判に(無視できない)もうひとつのプラスを加えています。

競合他社?本当に?

あらゆるものがデジタル化されたことで、Web開発はかつてないほど不可欠なものになりました。インターネットは日常生活に欠かせないものとなり、ウェブサイト、ブログ、オンラインショップは、すべての起業家にとって必需品となっています。それなくして顧客を見つけることは非常に困難です。そのため、PHP以外のプログラミング言語も市場で競合しています。しかし、それらはウェブ開発において同じような成功を収めているのでしょうか?詳しく見てみよう。

  1. Python
    Pythonの人気は秘密ではありません。広く宣伝されており、多くの人々はそれを開発のゴールデンスタンダードと考えています。はい、多くの分野(バックエンドウェブ開発を含む)で使用されており、DjangoやFlaskのような強力なフレームワークを持っています。また、学びやすく、開発者からは最小限の努力が必要です。しかし、Pythonが複雑なアプリケーションや大量のデータを処理するのに適しているにも関わらず、PHPはウェブプロジェクトの開発における性能と機能においてPythonを大幅に凌駕しています。これは、PHPがその目的のために特別に作成されたからです。Pythonの現在の主な領域はデータサイエンスと分析であり、この分野では他の誰也比肩しないとされていますが、ここで話しているのはウェブ開発です。

  2. JavaScript/TypeScript(およびNode.js)
    传统にはクライアントサイド開発に使用されてきましたが、Node.jsの登場によりJavaScriptの人気が急上昇し、サーバーサイド開発にも適用可能となりました。これにより、その人気とユーザベースが増加し、開発者はフロントエンドとバックエンドの開発の両方で同じ言語を使用することができるようになりました。これは企業がプログラミングスタッフの予算を削減できることを意味し、JS開発者は自分のスキルを大幅に拡張できます。Node.jsは高パフォーマンスと非同期操作を必要とするアプリケーションに適していますが、バックエンドの人気ではPHPに大幅に遅れています。これは、最終的にPHPで書かれたウェブプロジェクトは、遥かに簡単で安価に保守できることを意味します。また、このプログラミング言語に関するドキュメント/ガイドも非常に多く見つかるため、そのようなウェブプロジェクトは生存率が非常に高くなり、常にそれを開発し続ける人がいるでしょう。

  1. Go(またはGolang)
    Googleの製品であるGoは、そのパフォーマンスのために次第に人気を集めています。Goは高負荷のウェブサービスに適しており、それをうらやましい効率で処理します。また、そのシンタックスは非常に学びやすく、噂によれば、それを使って30日間から上級開発者になることができるそうです。しかし、GoはまだPHPの普及レベルに達していないため、ややsidelinesに留まっています:Goでの開発は遅く、複雑なプロジェクトを作成するためのツールやライブラリの数は大幅に少ないです。多くの開発者は現在、GolangをPHPと組み合わせて効果的に使用しており、それを置き換えるのではなく補完しています。

  1. Java
    Javaは長く信頼性のあるプログラミング言語として証明されており、SpringやApache Strutsのような強力でスケーラブルなフレームワークを持ちます。企業の財政的および時間的なリソースが十分な場合、企業のウェブアプリケーションを実装するのに適しています。しかし、開発に要する予算が高く、多大な時間が必要なため、特に資金が限られているスタートアップを含む中小企業には適していません。そういった企業にとって、管理がしやすくてデプロイが速いPHPは、はるかに適切な選択です。

  1. C#
    Javaと同様に、C#には拡張可能なウェブアプリケーションを作成するための多くの強力なツールとライブラリがあります。しかし、PHPはさらに多様で特定のエコシステムに依存しないです。PHPは多くの開発者にとってアクセスしやすく、学びやすく設定しやすく、極端に長いプロジェクトの完了時間を必要としません。これがそのスーパーパワーです。

プログラミング言語を比較する際、多くの人が調査データを参照します。私たちも同じことをしましょう。PYPL Index、Stack Overflowの開発者調査2024、そしてTIOBE Indexによれば、PHPは7位から10位の間にランクインしています。この結果は、PHPがバックエンド開発言語としての地位を失ったかのように誤解を招くかもしれませんが、それは単に間違いです。ランクが高い言語はより幅広いタスクに対応するように設計されていますが、PHPは主にバックエンド開発に特化しています。

例如、Pythonは機械学習やデータ分析で広く使用されていますが、バックエンドのウェブアプリケーション開発には必ずしも適していないことがあります。JavaScriptは主にクライアントサイドのウェブ開発で使用され、ほぼ代替えがありません。PHPを超えた他の言語は、必ずしもウェブバックエンドに関連しない多くの他の分野でも使用されています。

したがって、2025年、2026年、そしておそらく2027年も、PHPは多くのシンプルで中程度の複雑さを持つウェブアプリケーションのバックエンド開発において、まだ自信を持って主要なプログラミング言語と呼べるでしょう。これはその主な目的です。

PHPの理由:過去への私の考察

プログラミングを学び始めた当初、いつも一つの質問に興味がありました:ループ、関数、変数、モジュールで構成された書かれたコードを、具体的なものに変える方法、または他人にとって役立つだけでなく視覚的にも魅力的な機能的なアプリケーションを作成する方法です。その時代の多くの学生と同様に、私はパスカルとC++でプログラミングの基本を学びました。時々、その授業は日曜日の説教のように退屈でした。私たちはアルゴリズムや数学的な計算に集中し、そのため科目は退屈で興味が持てませんでした。しかし、ウェブ開発を見つけた瞬間、すべてが変わりました。

私の科目の một trong nhữngでは、私たちに選択したプログラミング言語でオンラインストアを開発する課題が与えられました。プロジェクトの完成には6ヶ月の時間が与えられました。そのとき、私は初めてHTMLという最もシンプルなウェブページマークアップ言語に出会い、ブラウザで何かを作成し、即座に自分の作品の結果を見ることができることに驚きました。これは印象的でしたが、すぐにHTMLだけでは複雑なロジックやダイナミズムを実装できないと気づきました。そこで私はPHPというサーバーサイドのプログラミング言語を発見し、複雑なトリックなしに標準的なHTMLページに命を吹き込むことができることを知りました。そのシンタックスは私にとって快適で、すでに慣れ親しんでいたCのような言語に似ていました。また、PHPの仕事の仕方も好きでした。リクエストを処理するためのスクリプトを開始し、必要なことを行い、その後仕事を終了することで、サーバーサイドアプリケーションの作成を大幅に簡素化します。

このプロジェクトを完了することは私にとって大きな突破でした。新しい技術に出会い、JavaScriptやJQueryを少し学び、アプリケーションのクライアントサイドを活性化させ、ウェブサーバーの仕組みを学び、ネットワーキング技術の基本をマスターしました。しかし、PHPが私に最も強い印象を与え、特別な場所を得ました。それは、バックエンド開発に対する私の認識を変え、複雑なサーバーサイドロジックを持つダイナミックなウェブアプリケーションを作成することが直感的でアクセス可能なタスクであることを示してくれました。多くの開発者が私と同じような感情を持っていると思います。

PHPはバックエンド開発のプロセスを簡素化するだけでなく、創造性と革新の広大な機会を開く东西です。その柔軟性とシンプルさは、あらゆる複雑さのウェブアプリケーションを創成するための完璧なツールとしてPHPを常に適切なものとしています。

PHPの利点

私の話は、PHPがなぜウェブ開発者にとって便利であり、今でもそうであるかを明確に示す例です。今、私はその利点をより詳細に説明し、間違いなくあなたもPHPの支持者になるでしょう。

  1. PHPはCのようなシンタックスを持っています
    このシンタックスは、Cのようなプログラミング言語に慣れている人(そのような人が多くいます)にとってPHPを学ぶのを容易にします。条件文やループなどの熟悉した制御構造、関数宣言の形式が似ている、コードブロックを定義するための角括弧の使用などが含まれます。

  1. PHPは迅速なウェブアプリケーション開発に適しています
    プログラムの実行にはコードのコンパイルが必要ありません。解釈型プログラミング言語のグループに属しており、開発を大幅にスピードアップします。スクリプトの動作における多くの変更は、ブラウザでページを简单地更新するだけで即座に見ることができます。F5キーを押すだけです!
  1. PHPはエラーに寛容です
    そのため、PHPは初心者にとっても理想的であり、それに限りません。主要な特徴は、ほぼすべてのスクリプトが生き延びるためにリクエストを処理し、その後、無事に消滅する(RoadRunnerなどの技術については別の話です;そこでは少し事情が異なります)ことです。このアプローチは、メモリリークや他のサーバーサイドプログラミング言語における多くのボトルネックに関連するリスクを大幅に減少させます。したがって、PHPを使用することで、プログラムのロジックと機能に集中し、低レベルのリソース管理の側面を常に気にする必要がなくなります。
  1. PHPでのオブジェクト指向プログラミング(OOP)は素晴らしい
    あらゆるものがあります:抽象クラス、インターフェース、継承メカニズム、トレイト、finalクラスやメソッド、read-onlyプロパティ/クラスなど、多くの機能があります。全部挙げるには時間がかかるので、簡単に言うと、PHPは素晴らしい

  1. デバッグはワークフローに迅速かつ簡単に統合できます
    例えば、この言語に関連する誰もが、エラー追跡やコード実行分析に幅広い機能を提供する人気のあるツールであるXdebugを聞いたことがあります。そして、強力なツールを使うのが面倒な場合は、var_dumpがいつでも助け舟を出してくれます。どのPHP開発者も私の意図を理解するでしょう。

  1. PHPは豊富なデータ型処理機能を提供しています
    初めから、PHPは厳格な型の typing 规則に従わず、開発者に多大な自由を提供していました。PHPでは、サポートされている任意のデータ型のデータを変数に保存し、この変数を使って操作を行う際には、可能な限り型が必要なものに変換されます。しかし、型変換のロジックが開発者には必ずしも明確でないため、時間が経つにつれて、より厳格なtypingの可能性が増えました。例えば、現代のPHPバージョンでは、プロパティの型、定数の型、関数の引数の型、返り値の型を指定し、厳格typingモードを有効にする(declare(strict_types=1)ディレクティブを使って)ことができます。厳格typingが有効にされている場合、PHPは関数やメソッドの期待に合わない型を自動的に変換しようとせず、代わりに型不一致のエラーを報じます。これは、strict_typeを使うことで、プロジェクトの開発段階で早期にエラーを見つけるのに役立ちます。ところで、strict_typeは有効にされたファイルでのみ動作するため、プロジェクト内でこの機能を段階的に有効にしても、旧機能を壊すことはありません。したがって、PHPは迅速に行う必要がある場合に柔軟性を持ち、エラーの代償が非常に高いより重要なプロジェクトにおいて厳格さを持つ、この両方を兼ね備えています。

  1. PHPの配列は特別な注目に値します
    数値インデックスを持つシンプルな動的配列、文字列キーを持つ連想配列(またはハッシュテーブル)、コレクション、ベクターなどとして同時に機能します。したがって、多くのウェブ開発のニーズはPHPで簡単に満たすことができます。
  1. PHPは最も効率的なスクリプト言語の一つです
    これは特にウェブ開発の文脈において言えます。Zend Engineインタープリタの最適化により、バージョン7でそのパフォーマンスは大幅に向上しました:PHPはより最適なメモリ管理と操作実行の速度向上を受け取りました。また、PHP 8でのJITコンパイルの導入により、特に計算集中型のタスクにおいてパフォーマンスが更に向上しました。PHPを速くするものは他に何か?もちろん、バージョン5.5から含まれているPHPエクステンションであるOpCacheがあります。これは、事前にコンパイルされたバイトコードスクリプトをメモリ内にキャッシュすることで言語をさらに速くします。また、SwooleやReactPHPなどのPHPの新しい開発も、非同期プログラミングの機能を提供し、特に頻繁なI/O操作を伴う多くのアプリケーションのパフォーマンスを大幅に向上させることができます。

無限にできる3つのこと则有ります:火が燃えるのを見る、他の人が働くのを見る、そしてPHPの利点をすべて挙げることです。それらは非常に多く、すべての利点を列挙するには、これらのような記事が一握り以上必要です。また、すべての利点が機能的能力だけで定義されるわけではありません:エコシステムも非常に重要であり、PHPはプログラミング言語の中でも最も豊かで多様なエコシステムを持っています。

幅広いエクステンション、ツール、ライブラリ、フレームワークがあります。Symfonyは特に言及に値する aloneで、多くの個々のライブラリで構成されています!それぞれのライブラリはすべてのプロジェクトで使用できます。なぜなら、すべてがコミュニティに公開されているからです。例えば、非常に人気のあるPHPフレームワークであるLaravelは、Symfonyコンポーネントに大きく基づいています。PHPでライブラリやパッケージとして実装されていない、ウェブプロジェクトに必須なものを見つけるのは非常に困難です。多くのものがすでに利用可能であり、選択肢は非常に豊富です。

PHPの未来

また、重要なこととして、PHPは停滞していないということも指摘したいです。PHPは、PHP FoundationやZendなどの大規模な開発者コミュニティや主要な組織によって積極的にサポートされ、開発されています。その進化は印象的です。頻繁で定期的なコアおよびマイナーアップデートが言語を絶えず改善し、新しい現実に対応させます。PHP開発者は、ユーザーに対する安定性と予測可能性を確保するために、バージョンリリーススケジュールを守ることを目指しています。新しいマイナーバージョンのPHPは年間でリリースされています。最近では、8.3バージョンがリリースされ、パフォーマンスと機能に大幅な改善が加えられました。主な新機能には、PHPの型指定機能を拡張する定数型の追加、json_validate関数の追加、Randomizer機能の拡張などがあります。そして、次のバージョンである8.4もすでに進行中で、新しい、より高度なJITエンジンや、ヘッダーを扱う新しい関数、日時を扱う新しいメソッド、MBStringの新しい関数、プロパティフック(非常に重要で有用な変更)など、非常に多くの有用な新機能が追加されます。

也许一些老程序员还记得,以前PHP有时因为某些程序的低质量而受到批评,但现在这已经成为过去式了;情况正在变化,而且只会变得更好。开发者们正在积累经验,语言也在变得更加严格和安全。编码时出错?如果你 steady hand

工作的话,就不会!当然,PHP中仍然存在未解决的问题和问题——例如,历史上不一致的语法,包括函数名的不一致。一个特别严重的问题是函数中参数的顺序不同,这经常导致混淆和错误。许多开发者对引入新功能的速度缓慢也不满意;语言层面支持泛型的问题已经变得尤为紧迫。

然而,所有这些问题都远远没有达到关键程度,与使用PHP的优点相比更是微不足道。这门语言正在变得更加成熟,批评正在逐渐成为过去,PHP继续每年用于创建数百万个网页项目。让它真正普及的框架和CMS仍然存在,没有面临任何严重的竞争。用PHP编写代码仍然很轻松,高质量的资料也在不断增多,因此在2025年、2026年或2027年,PHP在后端开发中的领先地位不太可能被动摇。

Source:
https://dzone.com/articles/why-PHP-should-not-be-ignored-now-or-ever