示例#1
0
 public static function run()
 {
     /* @var $savedStates Memento[] */
     $savedStates = array();
     $originator = new Originator();
     //Setting state to State1
     $originator->setState("State1");
     //Setting state to State2
     $originator->setState("State2");
     //Saving State2 to Memento
     $savedStates[] = $originator->saveToMemento();
     //Setting state to State3
     $originator->setState("State3");
     // We can request multiple mementos, and choose which one to roll back to.
     // Saving State3 to Memento
     $savedStates[] = $originator->saveToMemento();
     //Setting state to State4
     $originator->setState("State4");
     $originator->restoreFromMemento($savedStates[1]);
     //State after restoring from Memento: State3
 }