_type = $type; } //建造产品的价格 public function setPrice($price) { echo 'set the price of the product,'; $this->_price = $price; } //建造产品的颜色 public function setColor($color) { echo 'set the color of the product,'; $this->_color = $color; }}/*将要建造的,目标对象的参数*/$config = array( 'type' => 'shirt', 'price' => 100, 'color' => 'red',);/*不使用建造者模式*/$product = new Product();$product->setType($config['type']);$product->setPrice($config['price']);$product->setColor($config['color']);//var_dump($product);/** * builder类--使用建造者模式 */class ProductBuilder{ public $_config = null; public $_object = null; public function ProductBuilder($config) { $this->_object = new Product();//在这里借用具体生产过程的对象 $this->_config = $config; } public function build() { echo '建造类开始工作了:'; $this->_object->setType($this->_config['type']); $this->_object->setPrice($this->_config['price']); $this->_object->setColor($this->_config['color']); } public function getProduct() { return $this->_object; }}$objBuilder = new ProductBuilder($config);//新建一个建造者$objBuilder->build();//建造者去建造$objProduct = $objBuilder->getProduct();//建造者返回-它建造的东西var_dump($objProduct);?>