2.7. 组合模式

未匹配的标注

uml

组合模式

代码实现

<?php

//抽象form类
interface FormInterface{
  public function render();
}

class Text implements FormInterface
{
  public function render()
 {  return '<input type="text" />'.PHP_EOL;
 }
}

class Number implements FormInterface
{

 public function render()
 {  
     return '<input type="number"/>'.PHP_EOL;
 }

}

class Form implements FormInterface
{
  protected $elements = []; //所有对象
  public function render()
  { 
  $html = '';
  foreach ($this->elements as $element){
      $html .= $element->render();
  } 
     return $html;
  }


  public function addElement(FormInterface $element)
  { 
         $this->elements[] = $element;
  }
}

$form = new Form();
$form->addElement(new Text());
$form->addElement(new Text());
$form->addElement(new Number());
echo $form->render();

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~