← Каталог
Laravel - MVC-фреймворк и паттерны проектирования — Управление состоянием модели
Фрагмент из «Laravel - MVC-фреймворк и паттерны проектирования»: Управление состоянием модели.
class Order extends Model
{
protected $state;
public function setState(OrderState $state)
{
$this->state = $state;
$this->status = get_class($state);
$this->save();
}
public function pay()
{
$this->state->pay($this);
}
} class Order extends Model
{
protected $state;
public function setState(OrderState $state)
{
$this->state = $state;
$this->status = get_class($state);
$this->save();
}
public function pay()
{
$this->state->pay($this);
}
}