My Web道

WEB制作科 受講記録 …とその後も続くWEB制作に関する活動・学習記録です。

2014/08/07 ロジックとデザインの分離(送信した値を出力)

【本日のWeb制作 学習メモ】

[PHP] ロジックとデザインの分離

PHPをHTMLに組み込む際、ロジックとデザインを分離してコーディングするように配慮する。

理由:
チームで分業の場合など、WEBデザイナーPHPを理解できるとは限らない。
ソースのわかりやすさも考え、なるべくロジックとデザインは分離する。

 

index.html
入力値を送信

<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
<meta charset='utf-8'>
</head>
<body>
<form action="ex2.php" method="POST">
<input type="text" name="t1">
<input type="submit" name="送信"> 
</form>
</body>
<html>



送信先ページで値を出力
ex2.php(修正前)

<?php
///税込の金額を表示
function t($money){
  echo $money * 1.08;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
<meta charset='utf-8'>
</head>
<body>
<?php 
echo t($_POST['t1']); 
?>
</body>
</html>



ex2.php(修正後)

原則bodyの中には出力結果のみとする
(ロジックとデザインの分離)

<?php
//税込の金額を表示
function t($money){
  return $money * 1.08;
  //echo $money * 1.08;
}
//$moneyへ税込金額を代入
$money = t($_POST['t1']);
?>
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
<meta charset='utf-8'>
</head>
<body>
<h1>
<?php echo $money; ?>
</h1>
</body>
</html>



参考サイト
【ロジックとデザインの分離について】

こちらのサイトにも説明があります。
ブログを作る - PHP入門 - ポンクソフト :
http://ponk.jp/php/basic/blog

Smarty - ロジックとデザインの分離を考えるならこんなテンプレートエンジンを使うのも一つです

テンプレートエンジンでロジックとレイアウトを分離する(Smarty)[PHP] - Build Insider :
http://www.buildinsider.net/web/bookphplib100/040


【プログラム未経験からECサイトを作ってみるなら】

以下の2サイトが参考になるかも

codezine.jp

ブログを作る - PHP入門 - ポンクソフト