0

PHP と MySQL を介して表示するデータを取得する 1 つの集中ページを作成する代わりに、コンテンツを表示するために複数のページを作成する必要があるのはいつですか?


私の具体的なケースは次のとおりです。根号の単純化、指数の解決など、さまざまな単純な目的のための電卓を備えた数学の Web サイトがあります。現在、各電卓には独自のページがあり (したがって と がありますsimplifying_radicals.php) solving_for_exponents.php、結果として電卓。

これらすべてのページを、データベースからコンテンツを取得する単一のページに凝縮する必要があるかどうか疑問に思っています。たとえば、ユーザーが にアクセスした場合calculators.php?calculator=simplifying_radicals、PHP ページは、simplinging_radicals 行からすべてのデータをフェッチして、適切に表示します。

データベースには、各計算機のスクリプト (Javascript を介して計算されます) へのリンク、プロセスの中程度の長さの説明、およびユーザーが自分で試すための練習問題が含まれます。各計算機の形式は似ていますが、サーバーがデータベースからコンテンツを取得する必要があるため、計算機を 1 つのページに凝縮すると柔軟性が低下し、速度が低下するのではないかと心配しています。


したがって、基本的に、私は次のことに興味があります。

  1. タイトルにある元の質問。
  2. これらのガイドラインが私の特定のケースにどのように適用されるか。
4

4 に答える 4

0

以前は@Ericの回答のようなswitchステートメントを使用していましたが、現在はクラスを使用しています。

// foo.php
class FooController extends PageController
{
  public function someAction()
  {
  }

  public function someOtherAction()
  {
  }
}

new FooController()->run();

そこに行く/foo/someと実行されsomeAction()、広告/foo/some-otherが実行されsomeOtherAction()ます。

多くの厄介なコード(nav / footer HTMLの作成、実行する「アクション」の決定など)は、親のPageControllerクラスで発生します。

各クラスに何ページを入れるかは、個人の好みと構成の問題です。コードがほとんどないファイルが多数あることと、コードが非常に多く、何も見つからない大量のファイルがいくつかあることの適切なバランスを見つけてください。

于 2012-09-09T19:44:15.407 に答える
0

個別のファイルを使用する理由の 1 つは、コードの繰り返しを避けることです。
もう 1 つの理由は、機能が異なるファイルに分割され、メイン プロジェクトに適切に含まれている場合、ソフトウェアの保守とスケーリングが容易になることです。「インクルード」を使用してメインの php ファイルにファイルを取り込むだけではうまくいきませんが、他のページがメインの php ファイルのさまざまな部分に接続するために使用できるフィルターを使用することは大きな利点です (たとえば、wordpress を確認できます)。フィルター)

あなたの場合:
ユーザーが選択できるすべての電卓を含むページがありますが、最も単純な電卓をサイドバーに配置したい場合はどうすればよいでしょうか? 別のファイルに電卓がある場合は、それを含めるだけです。サイドバーに 1 つ (サイドバーの挿入方法にも依存します)

于 2013-08-23T07:00:23.610 に答える
0

各ページに膨大な量のコードがある場合は、それらを分離しておいてください。ちなみに、それらを読みやすく、拡張し、維持し、デバッグしやすくします。

各ページに数行しかない場合は、それらを 1 つのファイルにマージします。これは、それらを読みやすくするためのより良い方法です。

各ページの負荷が高い場合、または多くのプロセスがある場合、またはたとえば MySQL テーブルに数十万のレコードが含まれている場合は、パフォーマンスの問題のためにそれらを再度分割することがあります。

于 2012-09-09T19:05:51.290 に答える
0

このようなことをしてみませんか

<?php

// Your header stuff

switch($_GET['calculator']) {

  case 'simplifying_radicals':
    require_once 'simplifying_radicals.php';
    break;

  ...etc

}

// Your footer stuff

?>

そうすれば、電卓間で共有されるすべてのコードをヘッダーとフッター領域に書き込むだけで済み、電卓ファイルにはそれらに固有のもののみが含まれます。

于 2012-09-09T18:37:27.683 に答える