現在、プログラミング言語は多種多様で、メジャーな言語だけに絞ってもどれを使うか迷うほどです。言語を選ぶときに気になるのが、その言語の世間での評判。
PHPは、メジャーな言語のひとつでユーザーが多いため、世間からの評判も集まりやすいです。そのため、インターネット上ではPHPについて、いろいろな意見が聞かれます。どちらかというと批判的な意見が多いような印象を受けますが、本当にそうなのでしょうか?
この記事では、
- これから学ぶ言語にPHPを選ぶか迷っている方
- すでにPHPを使っている・勉強している方
のために、PHSのデメリットにフォーカスしてお伝えしていきます。デメリットだけでなく、対処法についても説明します。また、メリットについても紹介しますので、PHPについて理解を深めていきましょう。
参照:PHPエンジニアになるための準備からゴールまで解説した記事はこちら
PHP業界の過去と現在
PHPは1995年に登場し、以来20年以上使い続けられてきました。1995年といえば、Windows 95が発売され、ようやくインターネットが普及し始めたころです。もともと動的なホームページを作るために開発されたPHPは、インターネットとともに成長してきた、と言ってもいいでしょう。
2003年には、後に最も有名なCMS(コンテンツ管理システム)となるWordPressが登場し、開発言語としてPHPが使われました。WordPressは、いまやインターネット上のサイトの25%以上で使用されており、PHPの普及に大きく貢献しました。
現在でもPHPはメジャーな言語のひとつであり、多くのユーザーを抱えています。特に、WordPress関連の案件が多く、またソーシャルゲームのバックエンドとしても採用されています。ユーザー数が多いため、それに比例して批判も多く、いくつかのデメリットも指摘されています。PHPエンジニアは技術力が低い、と思っている方もいるようですが、そんなことはありません。単純に、PHPの敷居が低いため、エンジニアの技術力の幅が広いというだけです。反対に、敷居の高いC++では、エンジニアの技術力が高いというイメージが強くなっています。
PHPの特徴のひとつとして、フレームワークの数が多いことが挙げられます。現在普及しているフレームワークには、
- CakePHP
- Laravel
- Symfony
- CodeIgniter
- FuelPHP
- Zend Framework
など多数のフレームワークがあります。日本ではCakePHPが人気のようですが、他のフレームワークが使われていないというわけではありません。最近では、Laravelも注目を集めています。必ずフレームワークが使われるわけではありませんが、大規模なサイトでは、フレームワークの力を借りるべきでしょう。
PHPのどこがダメ?PHPのデメリット
それでは、PHPのデメリットについて考えてみましょう。一般的に言われているPHPのデメリットには、次の3つがあります。
セキュリティが脆弱
PHPの懸念ポイントとしてよく指摘されるのがセキュリティ面の甘さです。PHPはさまざまなサービスで使用されているが故に、不正アクセスされるケースがあります。バージョンアップに伴い改善されてもいますが、開発にPHPを使用する場合には、セキュリティ面の対策を十分考慮する必要があります。
Webサービス以外には弱い
WebサイトやWebアプリケーションに特化しているPHPは、逆にWebサービス以外の開発には不向きです。将来的には、Webサービスも含めたさまざまな分野の開発に対応できる、汎用性の高い言語にシェアを奪われてしまう可能性もあります。スマートフォンアプリをはじめ、他分野の開発も行いたい場合には、PHP以外の言語を習得しておくことをおすすめします。
エラーが発生しやすい
自由なコーディングが可能なPHPは、他の言語であればエラーが出るような書き方でも実行できてしまいます。エンジニアによる記述の仕方の違いやコード不備などがある場合も、一見正常に作動してしまうため、不備が見つけにくく、エラーを見過ごしやすいというデメリットがあります。
PHPを用いて複数人で開発を行う場合には、コーディングルールを事前に設ける仕組みを作ったり、デバッグを十分に行ってコードの不備を解消したりなどの対策が必要です。
PHPのメリット
PHPのメリットについても紹介しておきます。デメリットばかりでなく、メリットにも目を向けましょう。
開発実績や学習教材など、情報源が豊富
先ほどもお伝えしたとおり、PHPはユーザー数が多く、それと比例してインターネット上の情報が多い言語です。また、入門書も充実しており、公式サイトでもマニュアルが公開されているため、初心者の方も始めやすい環境にあります。どうしても自分で解決できない場合には、コミュニティに質問してみると、有効な回答を得られる可能性が高いでしょう。ノウハウをはじめ、オープンソースのプログラムも多数公開されているため、効率的に開発ができます。
構文がシンプル
PHPは、他のプログラミング言語と比較しても構文がシンプルで、制約が少ないという特徴があります。C言語やJavaなどとも構文が似ているため、難易度の低いPHPでプログラミング言語の学習のコツを掴んでから、他の言語を学習するのもおすすめです。
データベースとの連携が簡単
MySQLなどのデータベースとの連携が得意なPHP。データベースに情報を保存、更新したり、大量のデータの中から欲しい情報を瞬時に取り出すこともできます。HTMLで記載したコードにPHPを直接組み込むことも可能なので、サーバーにある情報をWebページ上に表示することもできます。
参照:PHPエンジニアになるための準備からゴールまで解説した記事はこちら
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)