您当前的位置: 首页 > 网站编程 > PHP教程 > 解析在zend Farmework下如何创立一个FORM表单

解析在zend Farmework下如何创立一个FORM表单

作者:不详 来源:网络 发布时间: 2014-08-19 21:07 点击:
本篇文章是对在zend Farmework下如何创立一个FORM表单的方法进行了详细的分析介绍,需要的朋友参考下 1.首先让我们设置一下我们的程序,让Zend能够自动载入方法,不需要我们手动的去载入 复制代码 代码如下: require_once 'Zend/Loader/Autoloader.php' //载入自动加载

解析在zend Farmework下如何创立一个FORM表单

  本篇文章是对在zend Farmework下如何创立一个FORM表单的方法进行了详细的分析介绍,需要的朋友参考下

  1.首先让我们设置一下我们的程序,让Zend能够自动载入方法,不需要我们手动的去载入

  


  复制代码 代码如下:

  require_once 'Zend/Loader/Autoloader.php' //载入自动加载类

  $loader = Zend_Loader_Autoloader::getInstance();//自动实例化

  $loader->registerNamespace('Application_');//注册命名空间(只有系统默认的,和注册的才可以被自动载入)

  $loader->registerNamespace(array('Foo_', 'Bar_')); //多个命名空间的注册方法

  $loader->setFallbackAutoloader(true); //一个增加消耗的方法,不需要命名空间,直接载入所有类(不被推荐使用)

  然后请注意,你的包含目录是否已经包含了,你自己的需被载入的目录

  复制代码 代码如下:

  set_include_path(implode(PATH_SEPARATOR, array(

  realpath(APPLICATION_PATH . '/../library'),

  realpath(APPLICATION_PATH . '/forms/'),

  get_include_path(),

  )));

  //这里我们包含了我们的forms目录,方便程序的被载入

  2.确认下form的目录

  
在application/forms/下 建立一个 Guestbook.phps

  作为我们form的类文件,如下:

  复制代码 代码如下:

  <?php

  class Application_Form_Guestbook extends Zend_Form

  {

  public function init()

  {

  // Set the method for the display form to POST

  $this->setMethod('post');//设置提交方式

  // Add an email element

  $this->addElement('text', 'email', array(//原件的类型,名词,和一些其他信息的定义

  'label' => 'Your email address:',

  'required' => true,

  'filters' => array('StringTrim'),

  'validators' => array(

  'EmailAddress',

  )

  ));

  // Add the comment element

  $this->addElement('textarea', 'comment', array(

  'label' => 'Please Comment:',

  'required' => true,

  'validators' => array(

  array('validator' => 'StringLength', 'options' => array(0, 20))

  )

  ));

  // Add a captcha

  $this->addElement('captcha', 'captcha', array(

  'label' => 'Please enter the 5 letters displayed below:',

  'required' => true,

  'captcha' => array(

  'captcha' => 'Figlet',

  'wordLen' => 5,

  'timeout' => 300

  )

  ));

  // Add the submit button

  $this->addElement('submit', 'submit', array(

  'ignore' => true,

  'label' => 'Sign Guestbook',

  ));

  // And finally add some CSRF protection

  $this->addElement('hash', 'csrf', array(

  'ignore' => true,

  ));

  }

  }

  然后添加一个路由控制文件

  applictaion/controller/GuestbookController.php

  复制代码 代码如下:

  <?php

  class GuestbookController extends Zend_Controller_Action

  {

  // snipping indexAction()...

  public function signAction()

  {

  $request = $this->getRequest();//获取接受到得信息

  // include_once("../application/forms/Guestbook.php"); 手动加载类,只有不能自动载入时,才需要

  $form = new Application_Form_Guestbook;//实例化这个方法

  if ($this->getRequest()->isPost()) {//如果是POST传递的结果

  if ($form->isValid($request->getPost())) {//判断传递是否有效

  $comment = new Application_Model_Guestbook($form->getValues());

  $mapper = new Application_Model_GuestbookMapper();

  $mapper->save($comment);

  return $this->_helper->redirector('index');

  }

  }

  $this->view->form = $form;//将表单赋值给试图

  }

  }

  最后添加一个简单的sign视图文件即可:

  
地址:application/views/scripts/guestbook/sgin.php

  复制代码 代码如下:

  Please use the form below to sign our guestbook!

  <?php

  $this->form->setAction($this->url());

  echo $this->form;
分享到:
本文"解析在zend Farmework下如何创立一个FORM表单"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4