Files
DesignPatternsPHP/Behavioral/State/OrderContext.php
2018-06-14 22:49:28 +02:00

35 lines
553 B
PHP

<?php
namespace DesignPatterns\Behavioral\State;
class OrderContext
{
/**
* @var State
*/
private $state;
public static function create(): OrderContext
{
$order = new self();
$order->state = new StateCreated();
return $order;
}
public function setState(State $state)
{
$this->state = $state;
}
public function proceedToNext()
{
$this->state->proceedToNext($this);
}
public function toString()
{
return $this->state->toString();
}
}