[PHP-users 29022] PHPでのポストバック利用について
井口廣踏
iguchi @ auntrust.jp
2006年 4月 19日 (水) 14:26:14 JST
はじめまして。井口です。
今回初書き込みをさせていただきました。
PHPを使用して間もない事もあり、効率のよいコーディング方法を模索しています。
実は、ASP.NETなどのポストバック機能のついた言語を利用していたこともあり、<form>タグの「action」に別ページを指
定し処理を飛ばすという記述に違和感を感じます。
サブミットされた内容によって、処理ページを切り替えたい場合は、どの様にしているのでしょうか?
ポストバックもどきの方法でPHPを利用されているかたっているのでしょうか?
個人的には、以下の理由で気に入っています。
1) イベントトリブンに記述が近いので理解しやすい
2) サイト内のページ数が削減できる
処理的に遅くなる等、僕の気づかない問題点が多々あると思います。
ご指摘いただけたら幸いです。
+-+-+-+
わかりにくいかもしれませんが、サンプルを以下に記します。
※参考までにテンプレートエンジンにSmartyを利用しています。
#
# ▼サンプル( sample_list.php )
#
説明:
商品郡の一覧表示画面です。
商品行ごとに「商品名」列、「修正ボタン」列、「削除ボタン」列、「詳細ボタン」列 があります。
<?php
require_once("./my_smarty.class.php");
class SampleList{
var $m_objMySmarty;
function SampleList(){
// mySmartyインスタンスを取得
$this->m_objMySmarty = new MySmarty();
$this->action();
}
function action(){
// 修正ボタンの場合
if($_POST['modify']){
$this->Modify_OnClick();
}
// 削除ボタンの場合
else if($_POST['delete']){
$this->Delete_OnClick();
}
// 詳細ボタンの場合
else if($_POST['delete']){
$this->View_OnClick();
}
// ページの表示
$this->Show();
}
function Show(){
$objMySmarty = $this->m_objMySmarty;
$objMySmarty->display("sample_list.tpl");
}
function Modify_OnClick(){
※業務ロジック
// 修正ページへ遷移
header("Location: other.html");
}
function Delete_OnClick(){
※業務ロジック
// 削除ページへ遷移
header("Location: other.html");
}
function View_OnClick(){
※業務ロジック
// 詳細ページへ遷移
header("Location: other.html");
}
}
new SampleList();
?>
PHP-users メーリングリストの案内