例によって3ヶ月ぶりとなる伊藤です。
今回はHTMLの基礎知識を持ちつつ、PHPを知らない人、あるいは初めての人向けの記事となります。
ちなみにサムネイル画像はラクラドール・レトリバーです。
偶然だと思いますが、タイトルに少しかかっています。あくまで偶然です。
まあ、そういうことは置いておき、本題にいきましょう。
まず、PHPって何!?
■PHP とはなんでしょう?
http://php.net/manual/ja/intro-whatis.php
う、う~ん。
いまいち分かり辛いですね。
簡単な認識でお話しすると、サーバー上で動くプログラムだよ!ということです。
基本的に、ウェブサイトは閲覧者からのリクエストがサーバーに送られ、リクエストに応じた内容が閲覧者に返信されてきます。
例えば、「index.html見せてくださいよ!」言ったら、「index.html一丁お待ち!」というわけですね。
しかし、リクエストしたものに、PHPが用いられていたら?
htmlだとそのまま素直に送り返すようなものなのですが、PHPの場合はサーバー側で特別な処理が入ってから送り返されます。
送り返す予定のものに、「今日の日付を表示する」と書いてあったなら、その都度そのプログラムを動き、文章の中に日付を挿入して送り返すわけですね。
ブログやFacebookなどのSNSはなぜ、FTPで更新せずともF5キーだけで内容がその都度変わるのか。
それは、私たちが受け取るまでにサーバー上で一度処理が入っているからなのです。
とまあ、言葉で説明しても噛み砕くのは難しいものです。
今回は、簡単な例でこの動きを体験してみましょう!
※1つだけ注意点がありまして、何も設定していない場合はローカルでは動きません。
そのため、初めて挑戦される方はレンタルサーバーにアップしていただくのが良しです。(ローカルの環境を整えるのは正直チョイ面倒くさいです)
ヘッダーを1つのファイルで管理してみよう
ヘッダーは、多くの場合制作する全ページに共通する部分となります。
そして、このヘッダーを設置するときはどうするでしょうか。
素直に全てのページにコピペで設置することも可能ですが、修正が入ったときのことはあまり考えたくないですよね。
でも、ヘッダーの記述を1つのファイルに集約できるなら!?
そんなときに活躍するのがPHPなんです!
PHPの書き方
PHPを記述するには、「htmlファイル」でなく「phpファイル」を用います。
そしてPHPのコードは、「<?php ?>」で囲ってあげる必要があります。
例えば、PHPで「テスト」という文字を表示するならば、「<?php print "テスト"; ?>」と入力することで入力できます。
「htmlファイル」とは別物の存在ですが、HTMLの書き方そのままで大丈夫です。むしろ、PHPを使いたい部分にだけ特別な書き方を用いるのがベストですね。
ページの一部分を、別ファイルから読み込む
「include」を使うことで、別のファイルに書かれている内容を引っ張ってくることが可能です。
これにより、全ページに「include」を使ってヘッダ用のファイルを読み込むことで、一つのファイルを変更するだけで全ページに変更が反映されるのです。
「include “header.php”;」と書くことで、header.phpを読み込みますよという意味のプログラムになります。
ではコードの実例を見ていきましょう。
●ヘッダー部分(header.php)
<header>
<h1><?php print $nowpage; ?>|My Web Site</h1>
<img src="logo.png" alt="ロゴ" />
<ul>
<li><a href="index.php">インデックスページ</a></li>
<li><a href="kasou.php">下層ページ</a></li>
<li><a href="test.php">その他コンテンツ</a></li>
</ul>
</header>
●インデックス部分(index.php)
<?php $nowpage = "インデックスページ"; ?>
<html>
<head>
<title><?php print $nowpage; ?>|My Web Site</title>
</head>
<body>
<?php include "header.php";?>
<!--以下ページ内コンテンツ-->
<p>テスト</p>
</body>
</html>
●下層ページ部分(kasou.php)
<?php $nowpage = "下層ページ"; ?>
<html>
<head>
<title><?php print $nowpage; ?>|My Web Site</title>
</head>
<body>
<?php include "header.php";?>
<!--以下ページ内コンテンツ-->
<p>テスト</p>
</body>
</html>
だーーーいぶざっくりな感じですが、かなり簡単です。
イメージとしては、通常のページの「index.php」と「kasou.php」の「include」がある場所に、自動的に「header.php」が挿入される形です。
本当にそのまま入ります。サーバー上で、2つのファイルを合体させているわけですね。
このちょっとした内容を活用するだけでウェブ制作がかなりスムーズになります。
しかしサンプル文中にある「$nowpage」という怪しい表記は何物!?
これについては、次回紹介できればと思います。
まとめ
本当に簡単な内容で、深い内容ではないですが、これを覚えるだけで制作がグッとスムーズになりますよ!
初めてphpに触ってみた方がいれば、これを期に色々調べてみるといかがでしょうか。
それでは来週の記事更新をお楽しみに!