源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-06-01 13:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:解析在zend Farmework下如何创立一个FORM表单
[b]1.首先让我们设置一下我们的程序,让Zend能够自动载入方法,不需要我们手动的去载入 [/b]
[u]复制代码[/u] 代码如下:
require_once 'Zend/Loader/Autoloader.php'    //载入自动加载类 $loader = Zend_Loader_Autoloader::getInstance();//自动实例化 $loader->registerNamespace('Application_');//注册命名空间(只有系统默认的,和注册的才可以被自动载入) $loader->registerNamespace(array('Foo_', 'Bar_')); //多个命名空间的注册方法 $loader->setFallbackAutoloader(true);  //一个增加消耗的方法,不需要命名空间,直接载入所有类(不被推荐使用)
然后请注意,你的包含目录是否已经包含了,你自己的需被载入的目录
[u]复制代码[/u] 代码如下:
set_include_path(implode(PATH_SEPARATOR, array(     realpath(APPLICATION_PATH . '/../library'),     realpath(APPLICATION_PATH . '/forms/'),     get_include_path(), ))); //这里我们包含了我们的forms目录,方便程序的被载入
[b]2.确认下form的目录 [/b]在application/forms/下 建立一个  Guestbook.phps 作为我们form的类文件,如下:
[u]复制代码[/u] 代码如下:
<?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
[u]复制代码[/u] 代码如下:
<?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;//将表单赋值给试图     } }
[b]最后添加一个简单的sign视图文件即可: [/b]地址:application/views/scripts/guestbook/sgin.php
[u]复制代码[/u] 代码如下:
Please use the form below to sign our guestbook! <?php $this->form->setAction($this->url()); echo $this->form;
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部