为了账号安全,请及时绑定邮箱和手机立即绑定

我不知道如何在 symfony 中实现逻辑

我不知道如何在 symfony 中实现逻辑

PHP
九州编程 2022-12-23 13:23:28
我在我的任务实体中添加了一个,在将它发送到前端之前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 }}


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号