PHP

PHPのリクエスト情報について

世の中のどのアプリケーションでも、入力を受け取って、あらかじめ決められた処理を行い、最終的な結果を出力する流れは同じです。

今回はその中でも重要なリクエスト情報について解説したいと思います。

リクエスト情報について

クライアントからサーバに送信される情報をリクエスト情報と呼びます。ただ、リクエスト情報といってもブラウザは様々な情報を送り出しています。このあたりのことを理解するにはHTTPの理解が欠かせないでしょう。

HTTPとは

HTTPとはサーバとクライアントがお互いに通信する際に利用するプロトコルです。クライアントの要求に対して、サーバが応答するときの情報のやり取りの方法を決めています。

ただ、更に細部を明らかにするには、必要なことがあります。

HTTPメソッドです。

HTTPメソッドとは

HTTPメソッドとはクライアントからサーバに対して発行する直接の命令でメソッド名、パス、プロトコル情報で構成されます。

GETは、指定したコンテンツを取得するための命令で、HTTPで用意されている命令の中でも最も基本的なものになります。

スーパーグローバル変数

HTTP通信の基本を理解したところで、ここからは問題であるリクエスト処理についてみていくことにします。

PHPでは、リクエスト情報を取得・操作するためにスーパーグローバル変数という特別な変数を公開しています。

なぜ、スーパーグローバル変数が特別かというと、スーパーグローバル変数は他の変数と違い、自分で用意する必要のない変数だからです。

PHPが自動的にリクエスト情報などを解析し、重要な情報をスーパーグローバル変数として用意してくれているのです。

PHPで使用できるスーパーグローバル変数は下記になります。

変数名 内容
$_POST POST形式でHTMLフォームから渡された値
$_GET クエリ情報経由で渡された値
$_FILES アップロードされたファイルに関する情報
$_SERVER リクエストヘッダ、またはサーバ固有の変数情報
$_ENV サーバ側で定義された情報
$_COOKIE クッキー経由で渡された情報
$_SESSION セッション経由で渡された情報
$_REQUEST $_GET、$_POST、$_COOKIEの値をまとめて管理

$_REQUESTは一見便利そうに見えますが、次の理由から原則利用するのは控えましょう。

  • 同名のキーがあった場合に片方のキーが上書きされてしまう
  • どこから受け取ったデータなのかわからなくなる

 

これからLaravelを始めるならこれが最適!!


今までLaravelに関しての良書はほとんどなく、あっても内容が古かったり分かりにくいのばかりで、先駆者達は苦労したのではないでしょうか?

そんな中で発売されたこの本は、現在の日本国内にて唯一のLaravelの良書と言い切っても良いかと思います。PHP中級者以上なら苦労することなく読めるでしょう。Laravelは高機能ゆえ、全機能を説明してはいませんが、この本をとっかかりにすれば自ずとLaravelをマスターすることができると思います。