我在我的任務實體中添加了一個,在將它發送到前端之前status,我會知道哪個是放置邏輯來設置它的最佳方式。status應該在TaskController. 應該放在服務上?我不這么認為,但我不確定。我放了一個我想添加的邏輯示例來設置狀態:private function loadStatus(Task $task): string { $object = new \stdClass(); $object->isDone = $task->isTaskDone(); $object->isLate = date("Y-m-d") > $task->getDateStart(); $object->isScheduled = date("Y-m-d") < $task->getDateStart() && !$task->isTaskDone(); if ($object->isDone) { return 'task is done'; } if ($object->isLate) { return 'task is late'; } if ($object->isScheduled) { return 'task is scheduled' } }謝謝您的幫助。
1 回答

守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
您可以將邏輯放在實體本身中,作為附加方法;畢竟它是實體行為,遵循學說的最佳實踐。
class Task
{
const STATE_DONE = 'done';
// Other constants ommited
public function isScheduled()
{
return date("Y-m-d") < $this->getDateStart() && !$this->isTaskDone();
}
public function getStatus()
{
if ($this->isTaskDone()) {
return self::STATE_DONE;
}
// Rest ommited
}
}
然后您可以在模板中使用它們來生成描述,您可以在其中訪問翻譯器。
{{ task.status | trans }}
- 1 回答
- 0 關注
- 81 瀏覽
添加回答
舉報
0/150
提交
取消