サーバーサイドでの言語
Webクリエイター養成科は11日からPHPの講座がスタートしました。
これまでのマークアップ言語のHTML、装飾言語のCSS、そしてプログラム言語のJavaScriptに続いての学びとなります。
教材は「確かな力が身につくPHP『超』入門」(SB Creative)。
HTMLは内容が変化しないWebページの基幹部分の作成に使われる言語、CSSはWebページのベースカラーや背景、ページレイアウトに文字フォント等といった装飾作成に使用される言語、JavaScriptはWebを閲覧するためのChromeやSafariといったブラウザ上でコンテンツに変化を与える言語でした。
PHPは、JavaScriptと同じようにユーザーのリクエストに応じてWebコンテンツに変化を与えるプログラム言語ですが、違うのはユーザー側(クライアントサイド)のブラウザではなく、ブラウザを介してユーザーのリクエストが送信される先のWebサーバー側(サーバーサイド)で操作される点。
ユーザーから送信されたリクエストに応じてサーバーサイドにあるデータベースを使い、リクエストへの回答をユーザーのブラウザへの返信を指示する、といったイメージでしょうか。
具体例を挙げれば、Webサービスへの入口であるログイン時のユーザー認証や、ネット通販サイトのショッピングカート機能などの構築・実現に使われる言語です。
PHPは<?phから始まり、p?>で終わるPHPタグと呼ばれる中に、処理の内容を記述するのがルールで、このPHPスクリプトはHTMLとPHPが混在しているときは、HTMLの部分はそのまま出力されることになります。
またまた悩ましい新たな〝呪文〟の登場となりましたが、単語や文章の前後をシングルコーテーション「’」で囲むと文字列扱いとなったり、記述の末尾にセミコロン「;」を付けたりと、JavaScriptのルールと似ている点もあるようです。
switch文
Web上で、複数の項目があって項目の冒頭に設けられているボタンボックスにチェックを入れて1つを選択すると、その選択された項目に応じてそれぞれ異なるメッセージが返ってくることがよくあります。
こうした仕組みを作動させるにはswitch文を使っているとのこと。
「和食」「洋食」「中華」の3つの定食があって、その中から和食を選んだ場合は「焼き魚、煮物、味噌汁、御飯」の提供メニューの内容に切り替わり、洋食を選んだら「オムレツ、ハッシュポテト、パン、コーヒー」に、中華を選んだら「春巻、餃子、卵スープ、炒飯」にとそれぞれの提供メニューに画面が切り替わり、表示されるようにするには、出力用スクリプトとして以下のように記述します…。
<?php
switch ($_REQUEST[‘meal’]) {
case ‘和食’:
echo ‘焼き魚、煮物、味噌汁、御飯’;
break;
case ‘洋食’:
echo ‘オムレツ、ハッシュポテト、パン、コーヒー’;
break;
case ‘中華’:
echo ‘春巻、餃子、卵スープ、炒飯’;
break;
}
?>
なお、Web上の選択用画面は別途制作する必要があり、その際は、あらかじめ入力用スクリプトに下記のように<form>タグを使ってラジオボタンを配置して出力用スクリプトにデータを送る仕組みも記述、設定しておかなければいけません。
<form action=”radio-output.php” method=”post”>
<p><input type=”radio” name=”meal” value=”和食”>和食</p>
<p><input type=”radio” name=”meal” value=”洋食”>洋食</p>
<p><input type=”radio” name=”meal” value=”中華”>中華</p>
<p><input type=submit value=”選択”></p>
</form>
foreachループ
Web上で商品の色などを選択するような画面を制作するときは、PHPのforeachループを使います。
カーソルを当てるとホワイト、ブルー、レッドといった選択肢がプルダウンするセレクトボックスを配置できます。
その方法は入力用スクリプトに以下のように記述します…。
<form action=”select-foreach-output.php” method=”post”>
<select name=”color”>
<?php
$color=[‘ホワイト’,’ブルー’,’レッド’];
foreach($color as $c){
echo ‘<option value=”‘,$c,'”>’,$c,'</option>’;
}
?>
</select>
<p><input type=”submit” value=”選択”></p>
</form>
ホワイト、ブルー、レッドといった選択肢の文字列を[]でくくった上で、複数の値をまとめて管理する配列$colorを作成。
選択肢に対する回答はユーザーによって変わるので変数という仕組みを使って$cとして記述。
foreachという呪文を使って、配列カラー(上記の場合は3色)のうちユーザーがどのカラーを選択したかについて、その色が選択されたかを次々と繰り返し(ループ)確認した上で、ユーザーが選択したカラーを表示させることができます。
switch文、foreachループを使いこなせるにはほど遠いですが、日ごろ何気なく目にするWeb上の仕組みが作動しているんだということが理解できるようにはなりました。