0

HTTP リクエストを確認する正しい場所はどこですか? コントローラー、クラス コンストラクター、またはメソッドで ? これを行う標準的な方法はありますか?OOP-Tutorials は、GET/POST/etc の処理に関しては非常に異なります ...

例 #1 (コンストラクターでの http 要求チェック、乱雑なコンストラクターの結果)

class xxx {

    public function _construct() {

        if (isset($_GET["action"]) && $_GET["action"]=="logout") {
            $this->doLogout();  
        }
    }
}

例 #2 (HTTP リクエスト チェックイン メソッド、結果は what-the-he-hello-happens-here コンストラクターになります)

class xxx {

    public function _construct() {
            $this->doLogout();
    }


    public function doLogout() {  

        if (isset($_GET["action"]) && $_GET["action"]=="logout") {
            $_SESSION = array();
            session_destroy();
        }        
    }
}

例 #3 はありません。私の言いたいことがわかるからです ;)

4

1 に答える 1

0

最もクリーンな方法は、ルーター コンポーネントを使用することです。サーバー変数から生成されたオブジェクトに作用させ (symfony httpfoundation または zend http を参照してください。これにより、ルーターとフルスタックを簡単にテストできます)、どのコントローラーとどのメソッドにリクエストを送信するかを返します。一部のメソッドの呼び出しに非常に特殊な要件がある場合は、中間コントローラー メソッドを間に配置して、適切なメソッドにルーティングします。

フロント コントローラーまたはメイン アプリケーション クラスがある場合は、そこから呼び出すのが適切です。

于 2012-09-02T16:07:12.070 に答える