Files
DesignPatternsPHP/Behavioral/State/OrderContext.php
2019-12-14 13:41:03 +01:00

32 lines
550 B
PHP

<?php declare(strict_types=1);
namespace DesignPatterns\Behavioral\State;
class OrderContext
{
private State $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();
}
}