mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-06-09 23:45:05 +02:00
34 lines
580 B
PHP
34 lines
580 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace DesignPatterns\Behavioral\State;
|
|
|
|
class ContextOrder
|
|
{
|
|
private StateOrder $state;
|
|
|
|
public static function create(): ContextOrder
|
|
{
|
|
$order = new self();
|
|
$order->state = new CreateOrder();
|
|
|
|
return $order;
|
|
}
|
|
|
|
public function setState(StateOrder $state): void
|
|
{
|
|
$this->state = $state;
|
|
}
|
|
|
|
public function proceedToNext(): void
|
|
{
|
|
$this->state->proceedToNext($this);
|
|
}
|
|
|
|
public function toString(): string
|
|
{
|
|
return $this->state->toString();
|
|
}
|
|
}
|