2009-06-01 9 views
0

従来の非フレームワーク環境(コアPHPまたはPerl/CGI)でWebアプリケーションを作成する場合、クライアントからサーバープロセスへの呼び出しを整理またはマップする最もクリーンな方法は何ですか?NON MVC Webアプリケーションでビュー/コントローラをどのように整理しますか?

答えは、たとえば、フォームを完成させるための単一スコープのページと送信ボタンがある場合には、ややこしいことです。フォームのアクションを "save.php"に設定し、ページとそれがバインドされている関数との間に1対1の関係を持たせることができます。 save.phpはsaveアクションを実行し、クライアントにフォームを書き込むことができます。

私はテンプレートエンジン(tinybutstrong)を使用しています。私は、複数のフォーム(例えば、グリッドのソート、保存、別のもの、Ajaxコンポーネント、検索ボックス)を持つ複雑なページを持っているときは、さまざまな機能を配置するあなたの方法は何ですか?(検索、並べ替え、挿入、検索)を1つの表示ページ(インデックス)に設定しますか?

index.phpのようなものを使用しますか?action = search/index.php?action =挿入するか、各アクションを関数のように動作するページに設定するようなもの(search.php、sort.php、insert.php )それぞれがプレゼンテーション関数を単一のスクリプト(index.php)に委譲していますか? "検索"機能をバリアス "ビュー"で使用できる場合はどうなりますか?

私は例として検索や挿入などの一般的な用語を使用しています。また、PHPに対する評価は、たとえばベストプラクティスに関しては一般的な質問であると考えられます。おかげさまで

答えて

0

ビューを参照するアクションがある場所に何かを作成すると、基本的にビュー用のコントローラが作成され、MVCの3分の2になります。 (それに何か問題がないわけではなく、あなたが向かうところです)

Q1。クライアントからサーバープロセスへの呼び出しを整理またはマップする最もクリーンな方法は何ですか?

A1。ファイルシステムを使用していますが、データの構造に基づいて意味的に構造化されていれば(可能であれば)、/search/mysearchのような意味で意味的に正しいオプションです。少しApacheモホが必要です

Q1。 index.php ...

A1を使用してください。はい、私はこのアプローチから恥ずかしがり屋ではありません。すばらしいパスを作成するために少しのApacheリライトマジックを使用するのが理想的ですが、それ以外にもコントローラを作成する魔法の方法はありません。

関連する問題