Пример #1
0
    private $_state = null;
    public function getState()
    {
        return $this->_state;
    }
    public function setState($state)
    {
        $this->_state = $state;
    }
    public function createMemento()
    {
        return new Memento($this->_state);
    }
    public function setMemento($memento)
    {
        $this->_state = $memento->getState();
    }
    public function display()
    {
        echo "state = " . $this->_state . "<br/>";
    }
}
$objOriginator = new Originator();
$objOriginator->setState(0);
$objOriginator->display();
$objCareTaker = new CareTaker();
$objCareTaker->setMemento($objOriginator->createMemento());
$objOriginator->setState(1);
$objOriginator->display();
$objOriginator->setMemento($objCareTaker->getMemento());
$objOriginator->display();
Пример #2
0
<?php

require_once './Memento.php';
require_once './Workout.php';
require_once './CareTaker.php';
$workout = new Workout();
$workout->running();
$care_taker = new CareTaker();
$memento = $workout->createMemento();
$care_taker->saveMemento($memento);
$workout->bicycle();
$workout->setMemento($care_taker->retriveMemento());
$workout->abdominal_ripper_x();