private $memento; public function get_memento() { return $this->memento; } public function set_memento($memento) { $this->memento = $memento; } } //客户端,即测试 $o = new Originator(); $state = 'On'; $o->set_state($state); $o->show(); $c = new Caretaker(); $memento = $o->create_memento(); //$o2 = new Originator(); $state2 = '2'; $o->set_state($state2); $o->show(); $memento2 = $o->create_memento(); $c->set_memento($memento); $c->set_memento($memento2); $state = 'Off'; $o->set_state($state); $o->show(); //var_dump($memento2); //$memento = $c->get_memento(); $o->set_memento($memento); $o->show();