派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

PHPはどんなところで使われている?

多くのWebアプリケーション開発で採用されている「PHP」。多くのプログラミング言語がある中で、なぜこれほどまでに人気なのでしょうか。今回はこの疑問に答えながら、PHPをどのように学んでいけばよいのか、併せて学びたい技術などを3回に分けて解説します。

なぜPHPが人気なのか?

PHPは主にWebアプリケーションの開発に使われているプログラミング言語です。Webアプリケーションといっても、「Webサーバー上で動くプログラム」と「Webブラウザ上で動くプログラム」の2種類があります。PHPは主に前者の開発に使われ、後者の開発についてはJavaScriptが多く使われています。

このWebサーバー上で動くプログラムは、利用者の操作によってWebブラウザ側から要求を受けて、その結果をHTMLなどの形式で返します。多くのWebアプリケーションではWebブラウザ側から渡された内容をもとに、その裏側でデータベースなどとのやりとりをして、出力したい内容をHTMLの形式に整形して返します。

Webブラウザ側からの要求はテキスト形式ですし、出力するHTMLもテキスト形式なので、テキストデータさえ扱えればプログラミング言語はなんでも構いません。つまり、Webサーバー上で動くプログラムはさまざまなプログラミング言語で開発でき、開発者が好きな言語を選んで構わないものです。

このため、PHP以外にもJavaやC#、Python、Ruby、Perlなどさまざまな言語でWebアプリケーションが開発されています。

そんな中で、PHPが採用される理由として、次のような特徴が挙げられます。

  1. レンタルサーバーで簡単に実行できる
  2. WordPressなどのCMSで多く使われている
  3. フレームワークが活発に開発されている

それぞれについて、詳しく解説していきます。

レンタルサーバーで簡単に実行できる

PHPなどのプログラミング言語で開発したWebアプリケーションを実行するには、Webサーバーが必要です。そして、初心者がWebサーバーをゼロから構築するのはハードルが高いものです。そんな初心者でも、それほど費用をかけずに手軽にWebサーバーを用意できる方法としてレンタルサーバーがあります。無料で利用できるものや年間1000円程度から借りられるものもあり、中小企業のWebサイトやちょっとしたシステム程度であれば十分な性能を持っています。

そして、このような安価なレンタルサーバーでも手軽に実行できるプログラミング言語がPHPなのです。ほとんどのレンタルサーバーが標準で対応しており、特別な設定ファイルなども不要で、PHPのスクリプトファイルを配置するだけで実行できます。

JavaやC#のようなプログラミング言語で書いたプログラムを実行できるレンタルサーバーはほとんどありません。PythonやRubyであればレンタルサーバーで実行できるものの、PHPほど手軽には実行できません。

レンタルサーバーでのWebアプリの開発についての資料を探すと、多くがPHPであることもあり、わからないことがあっても調べやすい、他の人に聞きやすい、といったこともポイントです。

WordPressなどのCMSで多く使われている

Webアプリの開発に使われるプログラミング言語のシェアを考えたとき、世界中のWebサイトがどのような環境で構築されているのかを調べることを考える人もいるでしょう。自分が作りたいWebサイトと同じ構成で開発されているWebサイトの技術を参考にすることで、どのような動作を実現できるのかイメージしやすくなるためです。

たとえば、W3Techsという調査サービスの情報によると、世界のすべてのWebサイトのうち43.1%がWordPressで作られているとされています。また、CMS(コンテンツマネジメントシステム)を使っているWebサイトの62.9%がWordPressで作られているとされています

*参考https://w3techs.com/technologies/details/cm-wordpress

そして、日本語のサイトでCMSを使っているものでは、82.2%がWordPressで作られているとされています

*参考https://w3techs.com/technologies/segmentation/cl-ja-/content_management

このWordPressというCMSはPHPで作られています。WordPress以外でも、DrupalやJoomlaなどのCMSもPHPで作られています。つまり、私たちが目にするWebサイトの多くはPHPで開発されていたり、裏側でPHPのプログラムが動いていたりすることがわかります。

フレームワークが活発に開発されている

WordPressのようなCMSを使うのではなく、独自のWebアプリケーションを開発したいこともあるでしょう。こういったとき、最近ではゼロからPHPのようなプログラミング言語が備える標準機能だけを使って開発することは少なく、Webアプリケーションフレームワーク(以下、フレームワーク)を使うことが一般的になりました。

フレームワークはURLのルーティング(URLから実際のプログラムへの割り当て)やデータベースの操作、セッション管理などのほか、Webページの雛形を使って動的にページを生成するテンプレートエンジンなどの機能を備えています。これにより、Webアプリの基本的な構造をゼロから作成するよりも時間を節約できます。

必要な機能を速やかに実装できるだけでなく、一貫性を持った設計が容易になり、保守性が向上します。さらに、セキュリティ面でもさまざまな機能が用意されており、安全なWebアプリケーションを実装できます。

このようなフレームワークのうち、PHPで開発されているものにLaravelやCakePHP、Symfony、CodeIgniterなどが挙げられます。これらのフレームワークは活発に開発されており、多くの開発者が参加しています。このため、書籍やWebサイトなどから情報を得やすいことも特徴です。

次回は、今回紹介したフレームワークのうち、Laravelを中心にその特徴や使い方について解説します。

【筆者】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『Pythonではじめるアルゴリズム入門』『図解まるわかり プログラミングのしくみ』『「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック』、最新刊の『実務で使える メール技術の教科書』(以上、翔泳社)がある。

※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。

リクルートスタッフィング