11.php建造者模式

    面对批量的属性赋值创建对象适合使用建造者模式。

<?php
/* 
 * 被创建的类
 *  */
class CD {
    protected $_type = "";
    protected $_size = "";
    protected $_color = "";

    public function setType($type){
        $this->_type = $type;
    }
    
    public function setSize($size){
        $this->_size = $size;
    }
    
    public function setColor($color){
        $this->_color = $color;
    }
}

/* 
 * 建造者类
 * 
 *  */
 class Bulider{
     //用于存储创建的类
     protected $_product = NULL;
     //用于存储属性
     protected $_configs = array();
     
     function getconfig($configs){
         $this->_configs = $configs;
     }
     
     //以通过多维数组循环批量创建对象
     function bulid(){
         $this->_product = new CD();
         $this->_product->setType($this->_configs['type']);
         $this->_product->setSize($this->_configs['size']);
         $this->_product->setColor($this->_configs['color']);  
     }
     
     //返回创建好的对象
     function getProduct(){
         return $this->_product;
     }
 } 

 $attribute = array('type'=>'CD', 'size'=>'20分钟','color'=>'red');
 $bulider = new Bulider();
 $bulider->getconfig($attribute);
 $bulider->bulid();
 $obj = $bulider->getProduct();
 var_dump($obj);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值