We may encounter such a problem in e-commerce projects: we need to modify the prices of different products, but the products are hugely different. At this time, it is suitable to use the intermediary model.
<?php class Book{ private $name; private $obj=NULL; public $price; function __construct($name, $price, Intermediar $obj){ $this->name = $name; $this->price = $price; $this->obj = $obj; } function changprice($newprice){ $this->obj->change($this, $newprice); } } /* * 实际情况中类差别很大可能无法创建父类 * */ class Computer{ private $name; private $obj; public $price; function __construct($name, $price, Intermediar $obj){ $this->name = $name; $this->price = $price; $this->obj = $obj; } function changprice($newprice){ $this->obj->change($this, $newprice); } } /* * 中介者类 * * */ class Intermediar{ public function change($obj, $value){ $obj->price = $value; } } $inter = new Intermediar(); $label = new Book('book', 34, $inter); $label->changprice(100); var_dump($label);
The above has introduced the 14 intermediary model, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.