溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在zend Farmework下怎么創(chuàng)建一個FORM表單

發(fā)布時間:2021-02-04 14:55:59 來源:億速云 閱讀:152 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下在zend Farmework下怎么創(chuàng)建一個FORM表單,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.首先讓我們設置一下我們的程序,讓Zend能夠自動載入方法,不需要我們手動的去載入

require_once 'Zend/Loader/Autoloader.php'    //載入自動加載類

$loader = Zend_Loader_Autoloader::getInstance();//自動實例化

$loader->registerNamespace('Application_');//注冊命名空間(只有系統(tǒng)默認的,和注冊的才可以被自動載入)

$loader->registerNamespace(array('Foo_', 'Bar_')); //多個命名空間的注冊方法

$loader->setFallbackAutoloader(true);  //一個增加消耗的方法,不需要命名空間,直接載入所有類(不被推薦使用)

然后請注意,你的包含目錄是否已經(jīng)包含了,你自己的需被載入的目錄

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傳遞的結(jié)果

            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下怎么創(chuàng)建一個FORM表單”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI