我在我的任务实体中添加了一个,在将它发送到前端之前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 关注
- 69 浏览
添加回答
举报
0/150
提交
取消