电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

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


发布日期:2023/12/1
 
本篇文章是对在zend Farmework下如何创立一个FORM表单的方法进行了详细的分析介绍需要的朋友参考下

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

复制代码 代码如下:
require_once Zend/Loader/Autoloaderphp //载入自动加载类
$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目录方便程序的被载入


确认下form的目录
在application/forms/下 建立一个 Guestbookphps
作为我们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( ))
)
));

// Add a captcha
$this>addElement(captcha captcha array(
label => Please enter the letters displayed below:
required => true
captcha => array(
captcha => Figlet
wordLen =>
timeout =>
)
));

// 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/GuestbookControllerphp

复制代码 代码如下:
<?php
class GuestbookController extends Zend_Controller_Action
{
// snipping indexAction()
public function signAction()
{
$request = $this>getRequest();//获取接受到得信息
// include_once("/application/forms/Guestbookphp"); 手动加载类只有不能自动载入时才需要
$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/sginphp

复制代码 代码如下:
Please use the form below to sign our guestbook!
<?php
$this>form>setAction($this>url());
echo $this>form;

上一篇:header location重定向语句对页面进行跳转失败

下一篇:模板引擎正则表达式调试小技巧