2011-12-07 58 views
0

我是Zend框架的新手,刚刚开始研究它。我将创建一个接受用户名和密码的简单网页,然后在身份验证后转到另一个网页。Zend中登录模块的流程

这是我在layman的条件reqirement。对于这一点,根据我的理解,下面的结构应使用Zend框架:

  1. 的LoginController:包含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吗?如果是,那么如何?如果没有,那么应该做什么?

回答

0

我可能可以帮助解决第二个问题。

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

因此,在应用程序/模型/ FormLogin.php我会成立了Zend_Form的元素,我想,然后定义视图这样的脚本:

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

然后在应用程序/视图/脚本/ _form_login.phtml我定义观点:

<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其删除:

$username->removeDecorator('label'); 

我也摆脱了默认的HTML标签的:

$username->removeDecorator('htmlTag'); 

如果你想好如何做书学习的Zend我会建议简单的PHP网站与Zend框架由W贾森·吉尔摩。它真的帮助了我。在前几章中,我确实有一个艰难的部分,让框架建立并正常工作,但在此之后很容易理解。祝你好运。

+0

感谢您的建议。您可以给我发送上述书籍的网址在线阅读吗? – ryan

+0

我不知道你可以免费阅读的地方,但你可以在作者的网站上以pdf的形式购买:http://www.wjgilmore.com/books/read/easy_php_websites_with_the_zend_framework – liz