26

はじめに、私はPHPの初心者です。ここに質問を投稿しました: Refactoring require_once file in a project 。フロントコントローラーについてできる限り読み込もうとしましたが、それがどのように機能するか、またはそれが何であるかさえわかりません。

誰かがそれがどのように機能し、それが何であるかを簡単に説明できますか?

4

1 に答える 1

47

フロント コントローラーとは、アプリケーション内の 1 つのコンポーネントがアプリケーションの他の部分へのすべての要求を処理する設計パターンを指します。アプリケーションの残りの部分で必要な共通機能を一元化します。テンプレート、ルーティング、およびセキュリティは、フロント コントローラー機能の一般的な例です。この設計パターンを使用する利点は、これらの関数の動作を変更する必要がある場合に、アプリケーションのごく一部を変更するだけで済むことです。

Web 用語では、ドメインに対するすべての要求は、単一のエントリ ポイント (フロント コントローラー) によって処理されます。

フロントコントローラーのルーティング機能のみ非常に単純な例。Apache が提供する PHP を使用すると、次のようになります。最も重要なステップは、すべてのリクエストをフロント コントローラーにリダイレクトすることです。

.htaccess

RewriteEngine On
RewriteRule . /front-controller.php [L]

フロントコントローラー.php

<?php

switch ($_SERVER['REQUEST_URI']) {
    case '/help':
        include 'help.php';
        break;
    case '/calendar':
        include 'calendar.php';
        break;
    default:
        include 'notfound.php';
        break;
}
于 2011-07-31T15:21:45.443 に答える