php教程:php设计模式介绍之装饰器模式(4)_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

php教程:php设计模式介绍之装饰器模式(4)

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:模式装饰教程介绍
黑客防线网安网讯:  想更方便的话,你可以使用Factory模式或者自动填充的方法来从$_POST里面提取关键字。    classPost{    //...    function&autoFill(){    $ret=&newPost;    fore...
  想更方便的话你可以使用Factory模式或者自动填充的方法来从$_POST里面提取关键字
  
  classPost{
  
  //...
  
  function&autoFill(){
  
  $ret=&newPost;
  
  foreach($_POSTas$key=>$value){
  
  $ret->set($key,$value);
  
  }
  
  return$ret;
  
  }
  
  }
  
  使用这个Post类你可以编辑你的FormHandler::build()方法,默认使用已经存在的$_post数据:
  
  classFormHandler{
  
  functionbuild(&$post){
  
  returnarray(
  
  newLabeled(‘FirstName’
  
  ,newTextInput(‘fname’,$post->get(‘fname’)))
  
  ,newLabeled(‘LastName’
  
  ,newTextInput(‘lname’,$post->get(‘lname’)))
  
  ,newLabeled(‘Email’
  
  ,newTextInput(‘email’,$post->get(‘email’)))
  
  );
  
  }
  
  }
  
  现在你可以创建一个php脚本使用FormHandler类来产生HTML表单:
  
  <formaction=”formpage.php”method=”post”>
  
  <?php
  
  210TheDecoratorPattern
  
  $post=&Post::autoFill();
  
  $form=FormHandler::build($post);
  
  foreach($formas$widget){
  
  echo$widget->paint(),“<br> ”;
  
  }
  
  ?>
  
  <inputtype=”submit”value=”Submit”>
  
  </form>
  
  现在,你已经拥有了一个提交给它自身并且能保持posted数据的表单处理(formhandler)类
  
  现在。我们继续为表单添加一些验证机制。方法是编辑另一个组件装饰器类来表达一个“invalid”状态并扩展FormHandler类增加一个validate()方法以处理组件示例数组。如果组件非法(“invalid”),我们通过一个“invalid”类将它包装在<span>元素中。这里是一个证明这个目标的测试
  
  classWidgetTestCaseextendsUnitTestCase{
  
  //...
  
  functiontestInvalid(){
  
  $text=&newInvalid(
  
  newTextInput(‘email’));
  
  $output=$text->paint();
  
  $this->assertWantedPattern(
  
  ‘~^<spanclass=”invalid”><input[^>]+></span>$~i’,$output);
  
  }
  
  }
  
  这里是InvalidWidgetDecorator子类:
  
  //代码Here’stheInvalidWidgetDecoratorsubclass:
  
  classInvalidextendsWidgetDecorator{
  
  functionpaint(){
  
  return‘<spanclass=”invalid”>’.$this->widget->paint().’</span>’;
  
  }
  
  }
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17399-1.html
网站维护教程更新时间:2012-09-21 05:18:14  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer