首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中为目标建模和跟踪需求

如何在PHP中为目标建模和跟踪需求
EN

Stack Overflow用户
提问于 2010-08-04 03:04:20
回答 1查看 136关注 0票数 4

我正在使用Zend 构建一个with应用程序,我需要对逻辑建模,或者跟踪一些与跟踪某个目标的进展有关的逻辑。

让我用一个示例目标来说明。

用户需要完成以下三项中的所有:

( A)活动一

( B)活动2

( C)活动3

用户需要完成以下一个的

( D)活动4

( E)活动5

F)活动6

在完成了第一组的三组和第二组的一组之后,USER已经完成了这个目标。我将如何在PHP中对此进行建模,以便webapp知道目标已经完成,以及如何将数据存储在数据库中?

需要明确的是,会有许多不同类型的目标,但它们在本质上都是非常相似的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-04 03:25:30

假设A、B& CD、E、& F始终属于目标内的特定组,我将这样设计它:

代码语言:javascript
复制
Goal::isComplete()
{
  foreach (Group)
  {
    switch (Group::type())
    {
      case "all":
        TRUE if all complete
        break

      case "any":
        TRUE if any complete
        break;
    }
  }

  if all TRUE
    return TRUE
}

或者用英语..。

然后,可以将所有活动存储在一个活动表中,并将它们所属的组定义为对组表的简单id引用。当活动完成时,可以在DB中这样标记它。

要检查已完成的目标,只需查找目标所需的每个组。每个组要么是"all“,要么是"any”(或者其他类似的选项,比如"min-2"),这将告诉脚本使用活动完成检查什么。然后,每个组可以根据其活动返回TRUE或FALSE。假设所有的组都是必需的,那么目标就很容易被确定为完全的或不完整的。

数据库看起来可以是:

代码语言:javascript
复制
Activities
- id
- group_id
- name
- completed
- [details about activitiy]

Groups
- id
- goal_id
- type  (ENUM: 'any', 'all')
- completed
- [details about group]

Goals
- id
- completed
- [details about goal]

当活动被更新或遗漏时,需要积极更新组和目标中已完成的值,并且它们的值总是动态地计算出来。

这有意义吗?做你想做的事吗?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3402289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档