73.PHPで書いてみよう ~PHPファイルにHTMLと併せて書く~
素朴な疑問なんですが、PHPファイルにやたら<?php ?>って書いてると思います。
そこれと同時にHTMLを大量に書いてもページが正しく表示されるのは何故?
ということで、今日もやっていきましょう。
PHPとHTMLの混在したPHPファイル
サーバーで、どうやってこのPHPファイルが処理されているかがイマイチわかっていないです。
ということで調べてみました。
ざっくりのイメージですが登場人物は3人
- ブラウザ
- サーバー
- PHPプログラム
流れを見ていきます。例えば、
ブラウザに、http://www.test.com/index.phpのURLを入力すると
http://www.test.com/のサーバーに対して通信を開始
サーバーはindex.phpを実行、PHPプログラムが実行され処理が始まる。
PHPプログラムは<?php … ?>で囲まれた内側はルールに基づいて適切に処理、外側に書かれた文字はすべてそのままで、処理が終わると、すべてテキストの状態でサーバーに渡されます。
サーバーは受け取ったテキストを要求があったブラウザに返します。
ブラウザはHTMLを解釈して表示するので、PHPプログラムからサーバーに渡された時点のテキストが「正しいHTML」で書かれたテキストになっていれば、Webページとして表示されるわけですね。
実際に書いてみる
HTMLをPHPを使って一部を書いてみましょう。
まずはベースとなるHTMLから
<body>
<h1>これはテスト</h1>
<img src="./image/test.png">
<p>ここは画像の名前</p>
</body>
PHPを使うと
<?php
$image = ["src" =>"./image/test.png", "text"=>"ここは画像の名前"];
?>
<body>
<h1>これはテスト</h1>
<img src="<?php echo $image["src"];?>">
<p><?php echo $image["text"];?></p>
</body>
こんな形で、タグの中にPHPプログラムを書き込むこめば、サーバーに渡す前には処理されてHTMLになっているというわけです。
上のコードでは、PHPで書いた方がコードが長くなってしまっていますが、
これが仮にCARDとかをPHPの配列とforeachを使って書いたりしたら、
めちゃめちゃコードの量減ると思いませんか?
面白くなってきた、PHP。
今日のまとめ
- PHPプログラムは処理が終わるとテキストをサーバーに渡す
- サーバーは受け取ったテキストをブラウザに返す
- 正しいHTMLならWebページが表示される。
- PHPを使って「書き方」を工夫するとぐっと楽になる。
- サーバー側で処理した後のテキストがかえってくるので、動的にページを変えることも可能
PHPまだまだ始まったばかりですね。
これからいろいろな書き方、使い方を学んでいくのが楽しみになりました。
では、また。