Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 reference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial
ASP ADO リファレンス | PHP関数リファレンス | MySQL関数リファレンス

PHP入門編:処理ロジックを分割する

■ PHP入門編

test0041.phpで一旦結果を得た後で、もう一度異なった値を入力したいと思っても、現状ではブラウザの「戻る」ボタンなどで戻るしかありません。そこで、結果を表示しつつ、同8時に入力も行えるようにプログラムを書き換えたいと思います。また、このままではでたらめな値を代入されてもそのまま計算を行ってしまうので、入力のエラーチェック機能も追加したいとろです。このように、機能やユーザの使い勝手を追求すればするほど、一般的にプログラムと言うものは肥大化の一途をたどっていきます。
条件がドン損複雑になり、またそれらに応じた処理も長くなってくると、スクリプトがだんだん読みにくくなってきて、文法エラーになったり、思った通り動いてくれなくなったりします。プログラム中に含まれる、自分の意図とは異なった振る舞いを示すエラーのことをバグ(bug、虫)と呼び、このバグをつぶす(プログラムのエラーをとり除く)作業のことをデバッグといいます。プログラミングとは、すばわちデバッグなのです。しかし、ただずるずるといたずらに長くなってしまったプログラムコードをデバッグするのは非効率的です。シンプルで読みやすく美しいコードはバグの今夕の可能性(やバグの数)を少なくし、開発の生産性を高めます。

test0041.phpの改定案ですが、以下のように考えてみました。

1. 入力エリアを(入力値があればそれもあわせて)表示する;
2. if(入力値があり、それが妥当であれば):
3.  元号に直す計算をする;
4.  計算結果を表示する;
5. endif;

このように、人間が読める形式で処理の流れを記述することを、擬似コードによるプログラミングと呼びます。複雑なプログラムを書こうとする場合、いきなりコーディングを始めないで、まずこういったことを行ってみるのもプログラムの見通しをすっきりさせるために役立ちます。
これを、PHPの文法に直してみます。

test005.php

<?
include("display.inc");
include("input.inc");
include("calc.inc");
include("result.inc");
display_input_area($yyyy);                // 入力エリアの表示
if (strlen($yyyy) > 0 && input_is_valid($yyyy)):
   $result = calc_gengou($yyyy);           // 元号の計算
   display_result($yyyy, $result);           // 結果の表示
endif;
?>

PHPでは、「//」以降行末まではコメントとみなされ、実行には影響を与えません。ただし、引用筆囲まれた文字列の中の「//」はそのまま評価されます。このように日本語でコメントを入れておけば、多少なりともプログラムが見やすくなります。

<<戻る
R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box

PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】 Yahoo 楽天 NTT-X Store

無料ホームページ 無料のクレジットカード 海外格安航空券 ふるさと納税 海外旅行保険が無料! 海外ホテル