準・究極の選択

perlで掲示板を作成する際はだいたい、

####メインルーチン
if($FORM['mode']="write";){&write;}
elsif($FORM['mode']="usr_delete";){&usr_delete;}
elsif($FORM['mode']="user_edit";){&usr_edit;}
elsif($FORM['mode']="admin";){&admin;}



&html;
exit;

####サブルーチン
sub write
{
#書き込み処理
}

sub usr_delete
{
#削除処理
}



といったように記述しますよね。
これをphpでも同じように、
//メインルーチン
switch ($_POST['mode'])
 case "write":
  write();
 case "delete":
  delete();
 

//サブルーチン
function write(){…}
function delete(){…}


と書くのは効率的ではないでしょうか。
効率とは"速さ"や"実装の仕方として適切ではないかどうか"、という意味です.

他サイトで配布されているphpのスクリプトに目を通すと、そう記述しているものがあまりみられませんでした。


もう1つ疑問なのですが、掲示板のスクリプトにクラスを使っているサイトが多々ありました。もちろんつかってないスクリプトなどもありましたが、掲示板作成をする際、クラスを使うメリットはあるのですか?

A 回答 (1件)

 こんにちは、PHPの仕事をしているプログラマです。



 ご質問の「適切ではないかどうか」ですが、BBSという
ことですが、確かにPerlの掲示板などは上記のような
環境変数によって(この場合はmode)、処理を切り替える
(関数呼び出し)のが多いですね。

 PHPの場合でも同じ処理でも、仕様を満たせるならば
問題ないと思います。というか「この書き方が王道だ!」
というものは別にないと思います。

 効率が問題であるならば、PECLのapdを使って、
プロファイリングしましょう。ただCPU時間
のほとんどはディスク関連でしょう。掲示板くらいの
規模ならば。

 クラスについては、オブジェクト指向の基本ですし、
掲示板に限らず、メリットは計り知れないと思います。
ご自分のコードを再利用する気がないとか、UNITテスト
なんてやらないとか、名前空間はグローバルしか使わない
のでもない限り・・

 PHP付属のPEARクラス群も使っておられないのですか?
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました^^
pearクラス郡というのも使ってないと思います。というよりpearクラスというのも初耳だったりします(汗

お礼日時:2004/04/18 23:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報