北大青鸟教育 主页 > 北大青鸟热门技术 > python技术 > 正文

zendframework之zend_form初步使用

2012-07-20 14:05 点击咨询
今天我们来讲解一下zendframework之zend_form初步使用
下面是一个zend_form添加类别之demo:
可以添加验证规则,错误提示,增加form修饰,
还有结合数据处理等,请结合手册加以学习

创建forms目录与models目录同一级
Category.php:
  1. <?php

  2. class Form_Category extends Zend_Form

  3. {

  4.     public function init(){

  5.                 $this->setMethod('post');

  6.                 $this->setAction('/zf/public/index/add');

  7.  

  8.                 $category_id = $this->createElement('hidden', 'id');

  9.                 $this->addElement($category_id);

  10.  

  11.                 $title = $this->createElement('text','name');

  12.                 $title->setLabel('类名');

  13.                 $title->setRequired(TRUE);

  14.                 $title->setAttrib('size', '20');

  15.         $title->addErrorMessage('类名不能为空');

  16.         $title->addValidator('stringLength', false, array(3, 96));

  17.                 $this->addElement($title);

  18.  

  19.                 $this->addElement('submit','sumbit',array('label'=>'添加'));

  20.         }

  21. }

  22.  

  23.  
复制代码




action里分页面action及数据处理action, 可在一个action处理
  1.         /**

  2.          * index action test

  3.          *

  4.          */

  5.         public function indexAction()

  6.     {

  7.         //modelUser

  8.         $modelUser = new Model_User();

  9.         $result = $modelUser->getUserById(1);

  10.  

  11.         //formCategory

  12.         $form = new Form_Category();

  13.  

  14.         $request = $this->getRequest();

  15.  

  16.         if ($this->getRequest()->isPost())

  17.         {

  18.  

  19.             if ($form->isValid($request->getPost()))

  20.             {

  21.  

  22.                 $modelCategory = new Model_Category();

  23.                 $modelCategory->add($form->getValue('name'));

  24.             }

  25.  

  26.         }

  27.  

  28.         //view

  29.         $this->view->result = $result;

  30.         $this->view->form = $form;

  31.     }

  32.  
复制代码




index.phtml
<?php echo $this->form; ?>



Model处理添加
  1. <?php

  2.  

  3. class Model_Category extends Zend_Db_Table_Abstract

  4. {

  5.         protected $_name = 'category';

  6.         protected $_primary = 'id';

  7.  

  8.  

  9.         /**

  10.          * 添加类别名字

  11.          *

  12.          * @param string $name

  13.          * @return integer

  14.          */

  15.         public function add($name)

  16.         {

  17.                 $row = $this->createRow();

  18.                 $row->name = $name;

  19.                 return $row->save();

  20.         }

  21.  

  22. }
复制代码
试听课
徐州市中博教育培训中心    版权所有    苏ICP备13053530号
地址:徐州市解放南路181号北大青鸟徐州中博(六中对面)        矿大校区地址:徐州市解放南路中国矿业大学(文昌校区西校区)
电话:0516-85628888        邮编:221000

苏公网安备 32030302000208号