Files
DesignPatternsPHP/Behavioral/Command/Invoker.php
2019-08-17 21:58:04 +02:00

36 lines
712 B
PHP

<?php
declare(strict_types=1);
namespace DesignPatterns\Behavioral\Command;
/**
* Invoker is using the command given to it.
* Example : an Application in SF2.
*/
class Invoker
{
/**
* @var CommandInterface
*/
private $command;
/**
* in the invoker we find this kind of method for subscribing the command
* There can be also a stack, a list, a fixed set ...
*
* @param CommandInterface $cmd
*/
public function setCommand(CommandInterface $cmd)
{
$this->command = $cmd;
}
/**
* executes the command; the invoker is the same whatever is the command
*/
public function run()
{
$this->command->execute();
}
}