検索
ホームページphp教程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的类文件,如下:

复制代码 代码如下:


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

复制代码 代码如下:


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!
$this->form->setAction($this->url());
echo $this->form;


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール