PHPとは
以前のハックノートで述べたように、LAMPは、Linux、Apache、MySQL、PHPの頭文字をとったものであり、今回は初めて出てきたPHPをメインにハックノートを書いていく。
PHPとは、HTMLを動的生成するWebアプリケーション用途に重きをおいたスクリプトである。
HTMLコードの中に埋め込まれることが多い。特別なタグ、
<?php {{PHPのコード}} ?>
で囲うことによって、PHPの処理内容の埋め込みが可能になる。
PHPとApacheが連携することによって、Apacheはwebブラウザからwebページのデータをリクエストされた際に、そのまま返すのではなくPHP処理系で実行した結果を返すことができる。
PHPで動的webページ作成
php54パッケージ、php54-pdo、pjp54-mysqlをインストールしたあと、ApacheのDirectoryIndexの設定の先頭にIndex.phpを追加する。
PHPをインストールしたので、Apacheを再起動させてPHPモジュールを読み込ませる。
以上の作業を以下3行のコマンドを1行ずつ実行していく。
yum install php54 php54-pdo php54-mysql DirectoryIndex index.php index.html service httpd restart
これで、PHPファイルに読み込ませた内容がサーバIPアドレスのページに表示されるようになる。
動的ページとは
動的ページと対になる言葉は、静的ページである。
この二種類の違いは、静的ページはもとから全て用意されたページであるのに対し、動的ページは、コンテンツをフォーマットに当てはめるなど、表示するタイミングで作られるページである。
動的ページは静的ページに比べて、処理が重く、表示に時間がかかってしまう。しかし、動的ページにしかできない表示形態が多くあるため、用途によって使い分けることが求められる。
PHPの主な役割である動的ページでは、ログインフォーム作成などが行われる。
ログインフォームは、ログインボタンが押されたあと、ログイン情報に応じて、ログインに成功したか失敗したかの結果に応じたページを返す、といった動的特性を持つ。
ここでは、本質ではないのでHTML・PHPのコーディングに関することは省略する。
スーパーグローバル変数で通信情報を調べる
PHPには、関数の中で定義・使用するローカル変数と、関数の外で定義し、全てのスコープで使用できる組み込みの変数であるグローバル変数の二つに大別できる。
グローバル変数の中でもPHPで定義済み変数となっているスーパーグローバル変数を利用することによって、webサーバから受け取った値を調べることができる。
Webサーバから受け取った値を調べるためには、前述したPHP用の埋め込みタグで囲い、
<h3>$_SERVER</h3> <pre><?php var_dump(格納している値を調べたいスーパーグローバル変数名); ?></pre>
このように記述することで、変数に格納されている値がページに表示される。