mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-07-27 02:00:20 +02:00
35 lines
685 B
PHP
35 lines
685 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 Command
|
|
*/
|
|
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 Command $cmd
|
|
*/
|
|
public function setCommand(Command $cmd)
|
|
{
|
|
$this->command = $cmd;
|
|
}
|
|
|
|
/**
|
|
* executes the command; the invoker is the same whatever is the command
|
|
*/
|
|
public function run()
|
|
{
|
|
$this->command->execute();
|
|
}
|
|
}
|