Exemplo n.º 1
0
    private $_receiver = null;
    public function __construct($receiver)
    {
        $this->_receiver = $receiver;
    }
    public function execute()
    {
        $this->_receiver->action();
        $this->_receiver->action1();
    }
}
$objReceiver = new Receiver("No.1");
$objReceiver1 = new Receiver("No.2");
$objReceiver2 = new Receiver("No.3");
$objCommand = new ConcreteCommand($objReceiver);
$objCommand1 = new ConcreteCommand1($objReceiver);
$objCommand2 = new ConcreteCommand($objReceiver1);
$objCommand3 = new ConcreteCommand1($objReceiver1);
$objCommand4 = new ConcreteCommand2($objReceiver2);
$objInvoker = new Invoker();
$objInvoker->setCommand($objCommand);
$objInvoker->setCommand($objCommand1);
$objInvoker->executeCommand();
echo "\n";
$objInvoker->removeCommand($objCommand1);
$objInvoker->executeCommand();
echo "\n";
$objInvoker->setCommand($objCommand2);
$objInvoker->setCommand($objCommand3);
$objInvoker->setCommand($objCommand4);
$objInvoker->executeCommand();
Exemplo n.º 2
0
<?php

require_once './Command.php';
require_once './PlayCommand.php';
require_once './PauseCommand.php';
require_once './StopCommand.php';
require_once './Invoker.php';
require_once './Player.php';
$invoker = new Invoker();
$player = new Player();
$playCommand = new PlayCommand($player);
$pauseCommand = new PauseCommand($player);
$invoker->setCommand($playCommand);
$invoker->run();
$invoker->undo();
$invoker->setCommand($pauseCommand);
$invoker->run();
$invoker->undo();