PHPはどうやって動いているの?仕組みから環境づくりまで

はじめにこれから始めるPHP入門コラムでは、PHPを学ぶ人が、PHPで簡単なプログラムを書けるようになるまでに必要な知識とポイントをTips的に書いていきます。今後PHPのスキルを身につけて仕事に役立てたい、という方のために「PHP技術者認定初級試験」の出題範囲を意識しながら進めていきますので、ぜ

野田 貴子

2014年6月6日 3:00

はじめに

これから始めるPHP入門コラムでは、PHPを学ぶ人が、PHPで簡単なプログラムを書けるようになるまでに必要な知識とポイントをTips的に書いていきます。今後PHPのスキルを身につけて仕事に役立てたい、という方のために「PHP技術者認定初級試験」の出題範囲を意識しながら進めていきますので、ぜひ最後までお付き合いください。

今回のあらすじ

  1. PHPで何ができるのか
  2. PHPのどこがいいのか
  3. 開発環境をつくろう

PHPで何ができるのか

PHPはWebページを作るための1つの手段です。Webサイトを公開するために必ず必要なものではありませんが、PHPを使えばとても多くのことを実現できます。世界中の大多数のWebサイトはPHPで作られています。

PHPの役割を知るために、まずはWebページがどのように表示されているのかを見てみましょう。PHPを使わない例から行きます。以下のような簡単なプロフィール画面をイメージしてください。profile.htmlというページに、プロフィール画像と紹介文が書かれています。

http://example.jp/profile.htmlで表示されるイメージ(クリックで拡大)

この画面を表示するためには、ブラウザのアドレスバーにURLを入力します。あるいは、そのURLが書かれたリンクをクリックする方法もあります。

1. ユーザーがブラウザに、表示したいURLを伝える(クリックで拡大)

URLのうち、最初のスラッシュまではサーバーの住所(ドメイン)です。ブラウザは、その住所にメッセージを送ります。URLの後半に表示したいファイル名があるので、メッセージにはその内容を含めます。

2. ブラウザがサーバーに、欲しい情報について伝える(リクエスト)(クリックで拡大)

サーバーはリクエストに対し、適切な返事をします。今回の場合、profile.htmlが見たいと言われたので、サーバーに保存してあるHTMLファイルの内容を、そのままブラウザに送ります。このとき、ヘッダーと呼ばれる情報を先頭にくっつけて送ります。ヘッダーには、ファイルの種類がHTML文書であること、使用している文字の種類(文字コード)が例えばUTF-8であること、などが書かれています。

3. サーバーがブラウザに、リクエストに対する返事を送る(レスポンス)(クリックで拡大)

ブラウザはまずレスポンスのヘッダーを見て、送られて来たデータはHTMLであることを知り、HTML文書を画面に表示する心構えをします。次にレスポンスの内容を見て、HTMLタグの通りに画面を表示していきます。

4. ブラウザが、レスポンスの内容を画面に表示する(クリックで拡大)

すると途中で、画像(IMGタグ)を発見しました。そこには画像のURLが書かれています。サーバーから送られて来たのはHTML文書だけなので、画像のデータはまだ手に入れていません。ブラウザはHTMLの続きを表示しながら、画像のリクエストもサーバーに送ります。サーバーは先ほどと同じように、画像についてのレスポンスを返します。

5. ブラウザがサーバーに、画像のリクエストを送り、レスポンスをもらう(クリックで拡大)
6. ブラウザが、画像を画面に表示する<完>(クリックで拡大)

以上は、WebページがHTML文書で書かれている場合の話です。HTML文書はいつどこのブラウザから見ても、同じ内容が表示されます。しかし、もっとTPOに合わせた内容を表示したい場合もありますよね。そのようなときに使えるのが、PHPをはじめとするスクリプトです。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30