PHPをマスターすれば無限に HTMLが作れる!

PHPとは

PHPとはプログラミング言語の一種です。特徴としては下記のようなものが挙げられます。

  • 動的にHTMLを生成する
  • HTMLに埋め込む形で記述できる
  • サーバサイドで実行される
  • データベースとの連携が得意である

動的にHTMLを生成する

動的とは、状況に応じて変化可能である事を言います。その逆は静的であり、どんな状況でも変わらない事を言います。

実際のホームページでこの二つの違いを見てみましょう!

静的なHTMLとの比較

下のホームページは静的なページの例です。どんな時にアクセスしても同じページが表示されす。

静的なページ

このページのソースを見てみると下記のようになっています。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>静的</title>
	</head>
	<body>
		<font color = red>文字色変化しません</font>
	</body>
</html>

次は動的なページです。下のページは動的なページの例です。このページは5秒毎に文字の色を変化させています。5秒おきに更新ボタンを押して見てください。文字色が変わるページです。つまり、時間に応じて変化している動的なページです。

動的なページ

このページのソースも時間に応じて変化します。文字色が赤の時のソースは下記の通りです。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>静的</title>
	</head>
	<body>
		<font color = red>5秒毎に文字色変化</font>
	</body>
</html>

文字色が青の時のソースは下記の通りです。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>静的</title>
	</head>
	<body>
		<font color = blue>5秒毎に文字色変化</font>
	</body>
</html>

これらのHTMLを生成しているのが下記の1つのPHPになります。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>動的</title>
	</head>
	<body>
	<?php
		$timestamp = date('U') ;
		if(($timestamp % 10) >5){
			$color = "red" ;
		}else{
			$color = "blue" ;
		}
		echo "<font color = $color>5秒毎に文字色変化</font>" ;
	?>
	</body>
</html>

PHPファイルは1つですが、時間に応じて異なるページを生成できるようにプログラミングしています。今回は5秒毎に文字色を変化させるようにしましたが、変化させられることができるのは文字色だけでなく、文字のサイズや画像など様々なものを変化させることができます。また5秒毎に変化させるようにしていますが、秒数だけでなく曜日によって変化させられることもできます。時間だけでなく、いろんな要素の値に応じてページを変化させることも可能です。

つまり、PHPで動的にページを生成する場合、1つのPHPファイルであってもプログラミングによっては無限に異なるページを生成することが可能です。静的なページでは1つのページしか閲覧することができず、ページ数に応じてHTMLも用意する必要があります。

ただ静的なページはページ生成する処理が不要なので処理は非常に軽いです。逆に動的に生成する場合はPHPを実行したりHTMLを生成したりと処理が必要なため、サーバにかかる負担は大きくなります。

スポンサーリンク

HTMLに埋め込む形で記述できる

実際にHTMLに埋め込んだPHPファイルを下記に示します(上に示したPHPと同じです)。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>動的</title>
	</head>
	<body>
	<?php
		$timestamp = date('U') ;
		if(($timestamp % 10) >5){
			$color = "red" ;
		}else{
			$color = "blue" ;
		}
		echo "<font color = $color>5秒毎に文字色変化</font>" ;
	?>
	</body>
</html>

赤字部分がPHPの部分でそれ以外はHTMLのままです。HTML内で動的に変化させたい部分のみをPHPを用いて実装すれば良いので、HTMLを書いたことがある人であれば読みやすいプログラムになっていると思います。

実際のPHPの処理を見てみましょう。下記で時間を取得しています。

$timestamp = date('U') ;

下記で色の決定を行っています。秒数の下1桁5よりも大ければ $colorに”red” を代入し、それ以外であれば$colorに”blue”を代入しています。この辺りはC言語などのプログラミングを経験しているとわかりやすいですね。

if(($timestamp % 10) >5){
 $color = "red" ;
 }else{
 	$color = "blue" ;
 }

下記でHTMLに文字列を埋め込んでいます。上の処理で$colorに”red”もしくは”blue”が格納されているので、その値によって埋め込まれる文字列が異なります。

echo "<font color = $color>5秒毎に文字色変化</font>" ;

サーバサイドで実行される

PHPはサーバサイドで実行されます。

サーバサイドとはサービスを提供する側のことを言います。ホームページで言えば要求されたURLに対するページを要求側に送信する端末のことを言います。ホームページの仕組み等で出てきたWebサーバことですね。

この逆はクライアントサイドで、サービスを受け取る側のことを言います。ホームページで言えば、URLのページをサーバに要求し、そのページを受け取って表示するPCのことを言います。

動的にページを生成するプログラミング言語としてPHPをここまで取り挙げてきていますが、そのほかにもJavaScriptというプログラミング言語もあります。この2つで大きく異なるのは、どこでページを生成するか、です。

PHP:サーバサイドで実行

PHPはサーバサイドで実行されてページを生成します。

サーバサイド実行のメリット

サーバサイドで実行することのメリットとしては、クライアント側の処理負荷が軽いということです。処理性能の低いPCやスマホなどでページ見る場合もサクサク表示することができます。またメリットとしてページの表示の可否がクライアント側の環境に左右されないことも挙げられます。

サーバサイド実行のデメリット

サーバ側の負荷が重くなります。

JavaScript:クライアントサイドで実行

JavaScriptはクライアントサイドで実行されてページを表示します。

クライアントサイド実行のメリット

クライアントサイドで実行することのメリットとしては、サーバ側の処理負荷が軽いということです。多くの人に一度にアクセスされても処理が追いつくので表示が遅くなるようなことも減ります。

クライアントサイド実行のデメリット

クライアント側の負荷が重くなることが挙げられます。

またページの表示の負荷がクライアント側の環境に左右される点も挙げられます。JavaScriptで書かれたページはJavaScriptが実行できるPCやスマホでないと表示することができません。

サーバサイド実行とクライアントサイド実行どっちが良いのか

ここは人によって意見は違うかもしれません。私としてはサーバサイド実行の方をオススメしたいです。現在処理能力の高いPCよりもスマートフォンの方の普及率の伸びの方が格段に高いと思います。そうなるとスマートフォンに向いている方が適した実行方法と言えるのではないかと思います。

スマートフォンはPCに比べて処理能力は低いですし、何より電池の持ちも重要です。そう考えるとクライアントの処理負荷を抑えることのできるサーバサイド実行の方が適していると思います。

またスマートフォン側の環境に縛られないこともサーバサイド実行の強みです。今後様々なスマートフォンが出てくることが予想されますが、その種類や環境に左右されることなくページ表示が可能であることはホームページ公開するにあたって重要なことだと思います。

しかしサーバサイド実行ではサーバ側の高処理能力が必要になっています。これが私がレンタルサーバにXSERVERをオススメしている大きな理由です。XSERVERについてはコチラで紹介していますのでレンタルサーバ選びの参考にしてください。

データベースとの連携が得意である

PHPにはMySQLにアクセスしたり操作する関数が用意されています。

具体的にはmysql_connect()、mysql_query()などです。

PHPはこれらを用いることでMySQLを操作し、データベースに応じたHTMLを生成することができます。

PHPを実行するには

PHPを実行するには、実行するPC上にPHPをインストールしておく必要があります。WordPressはPHPファイル群から構成されているのでPHP実行環境はWordPressでのホームページ作成において必須です。

XSERVERであれば最初からPHPがインストールされているので安心です。

また自分のPC上でPHPを実行できる環境を構築することも可能です。このホームページではMAMPというアプリを用いて実行環境を整える手順等をコチラで紹介しようと思います。

WordPressとPHPを一緒に学びたいなら

WordPressを使用している方で、もっとPHPについて詳しく知りたい人には下記の書籍がオススメです。

WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第2版]

この書籍の一番の特徴はWordPressユーザに対象を絞ったPHPの入門本ということです。

結構プログラミング言語などの入門本って、その言語で何ができるかや、それを行うためにどういう実装をすれば良いかは教えてくれるのですが、それが実際にどう活用されているかが実感しにくいものが多い印象です。私も大学まで通って色々学んできましたが、学んだことを実際何に使えばいいのかわかっていないないものが多いです。

しかし、この本は読者の対象としてWordPressユーザーに焦点を当てているため、WordPressの中でPHPがどうやって使用されているかや、どうやって動作をしているかを説明するページが多くを占めています。例えば、WordPressテーマ内に存在するPHPファイルを取り上げ、その中の命令について説明するようなページも多くあります。これを理解することで、そのPHPファイルを変更し、WordPressテーマをカスタマイズする知識も身につけることができます。

WordPressを使用している方には非常にPHPの動きを実感しやすい説明になっており、WordPressユーザにとってのPHP入門書として最適の一冊だと思います。

 

ホームページ作成トップに戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です