登录时重定向的最佳方式

时间:2012-12-11 15:59:00

标签: zend-framework zend-auth

我正在寻找创建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语句的数量,并且想知道这是否是唯一的方法。

1 个答案:

答案 0 :(得分: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的情况下做到这一点,它们真的是一个大问题吗?据我所知,控制器动作应该相当简单,因此围绕此代码不应该有大量的嵌套,或者动作函数中的圈复杂度?