PHPはデメリットだらけ?見方を変えればメリットにもなる

PHP


現在、プログラミング言語は多種多様で、メジャーな言語だけに絞ってもどれを使うか迷うぐらいです。言語を選ぶときには、その言語の世間での評判が気になりますよね。自分が今使っている言語にも同じことが言えます。

PHPは、メジャーな言語のひとつでユーザーが多いため、世間からの評判も集まりやすいです。そのため、インターネット上では、PHPについて、いろいろな意見が聞かれます。どちらかというと、批判的な意見が多いような印象を受けます。しかし、本当にそうなのでしょうか?

この記事では、

  • これから学ぶ言語にPHPを選ぶか迷っている方
  • すでにPHPを使っている・勉強している方

のために、デメリットにフォーカスしPHPについてお伝えしていきます。デメリットを紹介するだけでなく、対処法についても説明していきます。また、逆にメリットについても紹介します。ぜひご一読して、PHPについて理解を深めていきましょう。

目次

  • 今、PHP業界はどうなっているのか?過去から現在まで
  • PHPのどこがダメ?PHPのデメリットを考える
  • PHPには悪い面もあるが、いい面もある

今、PHP業界はどうなっているのか?過去から現在まで


PHPは、1995年に登場し、以来20年以上に渡って使い続けられてきました。1995年といえば、Windows 95が発売され、ようやくインターネットが普及し始めたころです。PHPは、もともと動的なホームページを作るために開発されました。PHPは、インターネットとともに成長してきた、と言ってもいいでしょう。

2003年には、後に最も有名なCMS(コンテンツ管理システム)となるWordPressが登場し、開発言語としてPHPが使われました。WordPressは、PHPの普及に大きく貢献したと言えます。いまやインターネット上のサイトの25%以上を占めるに至っています。どれだけPHPが幅広く使われているか、お分かりになるでしょう。

現在でもPHPはメジャーな言語のひとつであり、多くのユーザーを抱えています。特に、WordPress関連の案件が多く、またソーシャルゲームのバックエンドとしても採用されています。ユーザー数が多いため、それに比例して批判も多く、いくつかのデメリットも指摘されています。PHPエンジニアは技術力が低い、と思っている方もいるようですが、そんなことはありません。単純に、PHPの敷居が低いため、エンジニアの技術力の幅が広いというだけなのです。反対に、敷居の高いC++では、エンジニアの技術力が高いというイメージを持っている方が多いでしょう。

また、PHPの特徴のひとつとして、フレームワークの数が多いことが挙げられます。現在、普及しているフレームワークとしては、

  • CakePHP
  • Laravel
  • Symfony
  • CodeIgniter
  • FuelPHP
  • Zend Framework

など多数のフレームワークがあります。日本ではCakePHPが人気のようですが、他のフレームワークが使われていないというわけではありません。最近では、Laravelが注目を集めています。かならずフレームワークが使われるわけではありませんが、大規模なサイトでは、フレームワークの力を借りるべきでしょう。

PHPのどこがダメ?PHPのデメリットを考える

それでは、PHPのデメリットについて考えてみましょう。一般的に言われているPHPのデメリットには、次の3つがあります。

標準関数に対する不満

前述のとおり、PHPは20年以上に渡る歴史を持っているため、長い歴史の中で幾度となくバージョンアップが続けられてきました。言語は、その時々の流行や考え方に影響を受けます。そのため、現在のPHPにもその影響が多々残っています。特に、標準関数(ライブラリ)にその影響が多く見られます。命名規則が混在しており、名前を見ただけではなにをする関数なのかよくわからないものもあります。また、数も非常に膨大です。私も、たまにしか記述しない関数は名前を間違えることがあります。

互換性を維持するため、標準関数はそうそう変更できません。今後も長らく使われ続けるでしょう。PHPエンジニアは、この標準関数とうまく付き合っていく必要があります。とはいえ、やや覚えにくいものの、覚えてしまえばどうということはありません。命名規則が一つにまとまってはいないものの、全体としてみれば秩序はあります。もちろん、すべてを覚える必要はありませんので、よく使うものだけ覚えておけばよいでしょう。

記述の自由度が高い

PHPは、記述の自由度が高く、意味的には同じ処理を何通りもの書き方で記述できます。自由度が高いことはメリットでもありますが、人によって記述にばらつきが生じやすく、保守性を低下させてしまう原因になってしまうこともあります。一方、Pythonでは、「最善の方法をひとつだけ実装する」という設計思想があり、記述のブレが少なく済むように作られています。そのため、言語仕様もシンプルです。

自由度が高いことが問題を引き起こすこともありますが、言語の敷居を下げてくれる効果もあります。厳格な規則がないほど、初心者の方がとっつきやすく、PHPが普及した理由のひとつであると言えます。もし、PHPをより厳格な言語にしたければ、コーディング規約に従うことをおすすめします。有名なコーディング規約としては、PHP-FIGという団体が公開しているPSRと呼ばれる規約群です。1~17まで、規約を定義する内容によって細かく分けられています。そのまま適用したり、規約を定義する際の参考にしたりするとよいでしょう。

実行速度が遅い

PHPは、スクリプト言語なので、コンパイラ言語に比べ速度が遅い、という宿命を負っています。これは技術上しかたのないことです。速度では、JavaやC#に分があります。

しかし、PHPでも速度を向上させる取り組みが続けられており、バージョン7.0では、大幅な速度向上が図られました。また、KUSANAGIと呼ばれる、WordPressを高速に実行するための環境も提供されています。あくまで、コンパイラ言語と比較したときに遅い、というだけで、他のスクリプト言語と比べてPHPが遅いわけではないのです。

PHPには悪い面もあるが、いい面もある


最後に、PHPのメリットについても紹介しておきます。デメリットばかりでなく、メリットにも目を向けましょう。

情報源が豊富

先ほどもお伝えしたとおり、PHPはユーザー数が多く、それと比例してインターネット上の情報が多い言語です。また、入門書も充実しており、初心者の方も始めやすい環境にあります。どうにも自分で解決できない場合には、コミュニティに質問してみるとよいです。ユーザー数が多いため、有効な回答を得られる可能性が高いでしょう。

初心者でもとっつきやすい

PHPは、PHP単体で活躍することはできず、ウェブサーバーやデータベースの助けを必要とします。しかし、いずれもフリーソフトとして存在しており、オールインワンインストーラーも用意されています。たとえば、WindowsではXAMPP、MacではMAMPなどです。もちろん、個別にインストールすることもできますが、初心者の方はインストーラーに頼ったほうが確実でしょう。

ほとんどのレンタルサーバーが対応している

学習しているときはいいのですが、PHPで作ったプログラムを公開する場合にはPHPを実行するサーバーが必要です。自分でサーバーを運用するのは大変なので、通常はレンタルサーバーを利用することになるでしょう。PHPは、ほとんどのレンタルサーバーがサポートしているため、まず選択肢に困りません。逆に多すぎて迷うぐらいです。また、最近流行しているクラウドサーバーでも問題ありません。

まとめ

PHPについて、理解が深まりましたか?PHPは、20年以上の歴史を持っているため、言語全体としてみたときに、新旧混在している部分が見られます。発展してきた経緯によるデメリットも多々ありますが、それでも多くのユーザーに使われていることは事実です。本当にダメな言語なら、とっくに廃れてすでに姿を消していたでしょう。どの言語にもデメリットはあり、完全な言語は存在しません。デメリットに折り合いをつけ、メリットを活かすことが重要なのです。PHPのデメリットを克服し、よりよいコードを書いていきましょう。

あなたはPHPのどんな部分がデメリットに感じますか?

>>リモートワーク案件も充実!PHPのフリーランス求人案件をクラウドテックで探す

関連記事