1

ユーザーが最初にサイトにアクセスしたときにログインフォームを表示する example.com のインデックスページを作成しようとしています。ログインすると、example.com のコンテンツのメイン ページが表示されます。Zend Framework でこれを達成するためのベスト プラクティスは何ですか?

そうでしょうか?

//example.com
//if auth is false, show a login form

//else...
$auth = Zend_Auth::getInstance();
if($auth->hasIdentity()) $loggedIn = true;

//show "Hello World"

つまり、基本的には「サインインしている場合は「Hello World」をエコーし​​、そうでない場合はログインフォームを表示する」のようになります。if、else ステートメントの量を制限しようとしていますが、これが唯一の方法であるかどうか疑問に思っていました。

4

1 に答える 1

0

おそらく、さまざまなビューをレンダリングしてみてください: http://framework.zend.com/manual/1.11/en/zend.controller.action.html#zend.controller.action.viewintegration.render

これを自分で試したわけではありませんが、

$auth = Zend_Auth::getInstance();
if (!$auth->hasIdentity()) {
    //login.phtml
    $this->render('login');
} else {
    //content.phtml
    $this->render('content');
}

if-else なしでそれを行う方法があるかどうかはわかりませんが、それらは本当に大きな問題なのでしょうか? 私の知る限り、コントローラーのアクションはかなり単純であるべきなので、このコードの周りに膨大な量のネストや、アクション関数内の循環的複雑性があるべきではありませんか?

于 2012-12-11T16:09:17.337 に答える