Zend中登录模块的流程


Flow for login module in Zend

我是Zend框架的新手,刚刚开始使用它。我要创建一个简单的网页接受用户名和密码,然后认证后去另一个网页。

用外行的话来说,这是我的要求。为此,根据我的理解,Zend Framework应该使用以下结构:
  1. LoginController:contains loginAction()
  2. Application_Login_Form:包含用户名和密码的文本字段。
  3. login.phtml

现在从loginAction()开始执行。在loginAction()中,我调用Application_Login_Form并验证给定的凭据,然后使用$view->render('login.phtml');调用login.phtml

我的第一个问题是;这是正确的流程在Zend框架或应该有一些差异?

第二个问题是;当我使用Application_Login_Form extends Zend_Form时,我想使用<div id='ex'>,因为我想使用css文件,并在其中定义了div id 'ex'的样式。我可以在Application_Login_Form中使用div吗?如果是,那么是怎么回事?如果没有,那该怎么办?

我也许能帮你解决第二个问题。

我使用视图脚本来获得我想要的所有表单模型的格式。

在application/models/formlogin。php中设置Zend_Form元素然后像这样定义视图脚本:

$this->setDecorators( array( array('ViewScript', array('viewScript' => '_form_login.phtml'))));

然后在application/views/scripts/_form_login。我定义了视图:

<form id="login" action="<?= $this->element->getAction();?>" method="<?= $this->element->getMethod();?>">
<fieldset>
    <label>Username</label>
    <?= $this->element->username; ?>
    <label>Password</label>
    <?= $this->element->password; ?>
</fieldset>
</form>

如果你像这样使用你自己的标签标签,确保你从FormLogin.php中的form元素中删除它们:

$username->removeDecorator('label');
我还去掉了默认的html标签:
$username->removeDecorator('htmlTag');

如果你想要一本学习Zend的好书,我会推荐W Jason Gilmore的《Easy PHP Websites with the Zend Framework》。它真的帮助了我。在前几章中,我确实遇到了一些困难,让框架建立起来并正常工作,但在那之后,就很容易理解了。好运。