初めてのPHP ①。PHPをHTMLに埋め込んでいこう。
- PHPの基本を勉強したい
- PHPをHTMLに埋め込んでいく方法が知りたい
- PHPの復習がしたい
PHPをブラウザに表示させるときにはHTMLにPHPが動くように表示していかなければなりません。通常のHTMLでは面倒臭い作業も簡単に行うことができます。
この記事を読む事でPHPをHTMLで使う方法が分かります。
初めてのPHP ①。PHPをHTMLに埋め込んでいこう。
HTMLを使うときには下記のような基本となるテンプレートがあります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
ブラウザで確認してみましょう。
予想通りですね。
PHPをHTMLに埋め込む
h1タグのHelloをPHPを使って表示する場合は下記のようになります。
<h1><?php echo 'Hello'; ?></h1>
<?php ?>で囲まれているところがPHPとして認識されます。
ブラウザで確認しても変化がないことが分かります。
変数の使用
このままではPHPを使うメリットがイマイチわかりにくいので変数を使って行きましょう。例えば下記のような感じです。
<h1>
<?php
$greet = 'Hello';
echo $greet;
?>
</h1>
$greetのような変数はHTMLでは使えませんよね。<?php ?>で囲むことで動的な処理が可能になっています。ちなみにですが、変数の囲い方で表示のされ方も異なります。
変数の囲い方
例えば下記のような例があります。
<h1>
<?php
$greet = 'Hello';
echo $greet;
echo "$greet";
echo '$greet';
?>
</h1>
ブラウザで確認してみましょう。
一番最後は変換されずに文字列として表示されていますね。変数と一緒に文字を入れたい場合はダブルクォーテーションで囲むようにしましょう。
URLからのパラメーターの取得
では、URLからパラメーターを取ってくる方法も見ておきましょう。最初は何の為に使うのかわからないかもですが、いずれ必ず使います。
例えば、index.phpを下記のように編集します。
<h1>
<?php
$greet = $_GET['greet'];
echo "$greet, naka";
?>
</h1>
$_GETでgreetのパラメーターを引っ張ってきています。
どういうことかブラウザで確認して見ましょう。
URLを見てもらうと?greet=Hiとなっていますよね。これを$_GETで引っ張ってきています。
データ処理とHTMLの使い分け
上記のような処理を同じindex.phpに書いていると見難くなって行きます。そのため、ブラウザに表示するファイルとデータを処理するファイルに分けてあげましょう。
では、view.phpとindex.phpを作って行きます。
ブラウザ用のファイル
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<h1>
<?= "$greet, naka"; ?>
</h1>
</body>
</html>
ここでは$greetの中身については何も処理をしていません。
ちなみに <?php echo は <?= で省略できます。
データを処理するファイル
index.phpでは変数の中身を準備してview.phpを使って表示するように設定します。
<?php
$greet = $_GET['greet'];
require 'view.php';
?>
ブラウザで確認しても変化がないことが分かると思います。
foreachを使ってみよう
こうした処理で一番よく使うのはforeachです。これにより、配列で渡さられる要素を1つずつ表示できます。では、どのように使うか見て行きましょう。
<?php
$greets = [
"Hi",
"Hello",
"Good morning"
];
require 'view.php';
?>
$greesに配列を渡しています。ちなみに、[] で囲むことで配列にできます。
では、view.phpを編集して行きます。
<body>
<ul>
<?php
foreach($greets as $greet){
echo "<li>$greet</li>";
}
?>
</ul>
</body>
foreachを使うことで$gteetsの中身を1つずつ$greetとして表示しています。
では、ブラウザで確認して行きましょう。
予想通りですね。
ちなみにですが同じことを下記のように表示することもできます。
<ul>
<?php foreach($greets as $greet): ?>
<li><?= $greet; ?></li>
<?php endforeach; ?>
</ul>
こっちの方が分かりやすい、という人もいると思います。
ブラウザで確認しても変化してないと思います。
まとめ
今回はPHPをHTMLで表示する方法について紹介しました。
今は簡単な処理しかしていませんが今後複雑な処理をしていくようになるのでファイルの使い分けに慣れておきましょう。
今回紹介したforeachですが if や while なども同じように使うことができます。この辺は必要になった時にググれば十分だと思うので今回は省略します。。