2012-01-10 10 views
3

PHPプログラマー(あなたのコンテキストのためだけ)として、私は一般に、アプリケーションの各ページに新しいファイルを作成します。もちろん、1つのスクリプトは、ビューの小さなコレクション(システムの特定のサブモジュールなど)を処理することがあります。1つのルーティングスクリプトのWebアプリケーション:長所と短所は何ですか?

しかし、node.jsSlim(PHPフレームワーク)のようなものでは、1つのルーティングスクリプトがあることがわかりました。

コアルーティングスクリプトでは、アプリケーションがアプリケーションのさまざまな部分に対する要求にどのように応答するかを定義します。

しかし、私はアプリ全体の複数のスクリプトを指す.htaccessの再書き込みルールで同じことをするのに慣れています。

Webアプリケーションのコアを1つのスクリプトで定義する際の賛否両論は何ですか?

答えて

3

書き換えルールは移植性がありません。それらにはapacheとmod_rewriteが必要です。 しかし、PHPベースのルーティングを使用すると、すべてのリクエストがそのスクリプトを通過できるようにするWebサーバーが必要です。

+0

このように、アプリケーションをApacheから分離することが重要です。その環境にかかわらず、「制約」は、ルーティング方法が依然として優れているか、より妥協していますか? – eoinoc

+1

@eoinoc: 'mod_rewrite'は制限があり、*厳しく*制限されています。単純な正規表現の束をはるかに超えたものはどれも、そしてそれは本当に醜い本当のものになります。実際のルーティングソリューションは、コマンドの言語(この場合はPHP)全体をあなたに提供します。 – Piskvor

+0

多くのことがそうであるように、私はこれがより早いアプローチであることを知りたがっています。 – eoinoc

2

は、私の知る限りでは、唯一の長所があります。

  • は、あなたが常にする必要はありません(JS、CSS、およびメディア以外)のドキュメントルート
  • で唯一の1つのファイルを保管してくださいinclude 'all-pages-setup.php'を追加するか、すべてのページに何を持っているかを覚えておいてください。あなたは一度だけそれを行う必要があります(あなたがこの時点でそれを必要とする場合)。
  • URLは多かれ少なかれ自動的になります。
+0

私はドキュメントルートには通常1つのスクリプトしかなく、クラスは./app/のような場所にあります。しかし、私はあなたが言及する他の利点が好きです。 – eoinoc

2

長所:

  • 明快:あなたは常にトレース実行
  • は、すべての要求
  • で使用される重複したコードは、あなたがなりたいどの後でコードを追加することを容易に減少したときに開始するために理解
  • は、リクエストURLを実装の.phpファイルパスから切り離し、フレンドリなURLを簡単にサポートします。

しかし、私のための主なものは以下です:

を詰め込むなしデバッグbleedin' 500内部サーバーエラー。

関連する問題