●Webプログラミングで何が変わる(サーバーサイドプログラム)
1.サーバーサイドプログラムを使用する
我々は好んでサーバーサイドのプログラムの使用をします。その理由は何と言っても開発速度とブラウザ互換に悩まされないことです。
前回の説明(こちらを参照)にあるようにクライアントサイドのプログラムのほうが処理スピードは速いのです。処理速度が遅い?サーバーサイドプログラムですが、最近はサーバーが速い、更にADSLの普及などでクライアントの回線速度が早くなったためにストレスが感じられなくなりました。
2.自社サーバーとレンタルサーバー
サーバーサイドで使用できる技術はたくさんあります。では、気に入ったものを使えばよさそうなものですが、自社サーバーならそれが可能です。ほとんどのお客様はホスティングサービス(レンタルサーバ)を利用します。自社サーバーの方が自由が利きますが、サーバーの管理やコストを考えるとそれなりの規模のある会社で無いとメリットがありません。
サーバーサイドのプログラムを利用する場合、処理速度を考えるとコンパイル※されたプログラムを利用するのが適切です。しかし、ほとんどのホスティングサービスではこのようなプログラムは使用できません。
従って手軽に利用できる言語、PerlやPHPを使用することでお客様のニーズに答えることができるのです。
※人間に解釈できるプログラムを機械語に変換(コンパイル)することによって処理速度が上がります。その逆にインタープリタは、人間に解釈できるプログラムを一行づつ実行していくために処理速度は遅いのです。
3.PerlとPHP
以前、WebプログラミングといったらPerlというほど普及していました。また、ほとんどのホスティングサービスでも無料又はオプションで独自のPerlプログラミングが使用できる状況でした。また、Perlは手軽にプログラミングができる事もあり、一般の方にも広く普及しています。
現在では、ホスティングサービスでも開発速度が速くメンテナンスがしやすいPHPが使用できる所が多くなっているようです。まだまだPerlは健全ですが、開発速度やメンテナンス性はお客様のコストに直接繋がるため、我々はPHPで開発することが非常に多いのです。
4.PHPプログラミング1
上記のボタンを押してみてください。見てのとおりの結果となります。
ボタンを押すと画面が動いてしまいますよね。これは、サーバーに結果を返してもらうために起こります。この辺は、Javascriptにはかないません。
プログラムは下記のようになります。非常に簡単でものの数分でできてしまいます。この程度だと、JavaScriptで書いてもすぐにできます。
<?PHP
$result = ""; // 変数のクリア
if ($_POST['BT1']) {$result = "ぼたん1が押されました。";}
if ($_POST['BT2']) {$result = "ぼたん2が押されました。";}
?>
<
a name="php1"></a>
<form name="form1" method="post" action="<?=$PHP_SELF?>#php1">
<input type="submit" name="BT1" value="ボタン1">
<input type="submit" name="BT2" value="ボタン2">
<input name="result" type="text" value="<?=$result?>" size="50">
<input type="submit" name="cls" value="クリア">
</form>
5.PHPプログラミング2
上記程度のプログラムですと、むしろJavaScriptで開発したほうが使う側にも良いと思われます。サーバーサイドプログラムの本領は、もっと複雑な処理になってきたときや、JavaScriptではできない事などです。
下記のようなCSVファイルがあります。それを読み出してWebに表示したいことは良くあります。
| |
名前 |
年齢 |
性別 |
好きな食べ物 |
趣味 |
| レコード1 |
たま |
8歳 |
オス |
鰹節ごはん |
ボールを転がすこと |
| レコード2 |
しろ |
9歳 |
メス |
味噌汁ぶっかけごはん |
メスを追いかける事 |
結果とプログラムは下記のとおりです。自動的にCSVファイルを読み込んで表示してくれます。
| 名前 |
年齢 |
性別 |
好きな食べ物 |
趣味 |
| たま |
8歳 |
オス |
鰹節ごはん |
ボールを転がすこと |
| しろ |
9歳 |
メス |
味噌汁ぶっかけごはん |
メスを追いかける事 |
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td>名前</td>
<td>年齢</td>
<td>性別</td>
<td>好きな食べ物</td>
<td>趣味</td>
</tr>
<
?PHP
$csv = fopen ("test.csv", "r") or die(print "file open
error!");
while ($items = fgetcsv ($csv, 500,",")){
print "<tr>\n";
print "<td>$items[0]</td>\n";
print "<td>$items[1]</td>\n";
print "<td>$items[2]</td>\n";
print "<td>$items[3]</td>\n";
print "<td>$items[4]</td>\n";
print "</tr>\n";
}
?>
<
/table>
※都合上プログラムは、簡略化してあります。
更に、CSVファイルを追加・削除できるプログラムを作成すれば立派なWeb管理ソフトができるでしょう。
このように我々は、お客様より依頼された設計を元にプログラミングして行きます。
つづく
|
|
猫豆堂
Copyright c 2003-2008 Nekomame Dou ALL RIGHT RESERVED.