我正在制作一个有趣的网络应用程序。有'用户',每个用户都有不相交的数据。
每个用户都有许多“例程”。 (这些对每个用户来说都是完全唯一的。)
每个'例程'都有许多'步骤'(完全独特的例程),每个'步骤'都有许多'子步骤'(同样,步骤完全独特)。
我目前正在将这些信息存储在直接的SQL表中。因此,有一个Users表,一个Routines表,一个Steps表和一个Substeps表。这很好,因为当我点击一个步骤时,只加载与该步骤相关的子步骤(和缓存)。
但是,开始有大量不同的php文件,因为每个表都有独特的属性。我应该将它以XML格式存储在SQL表中吗?你会做什么?
答案 0 :(得分:1)
在面向对象的方法中,我可能有一个PHP文件代表对象模型中的每个类 - User.php,Routine.php,Step.php,Substep.php - 并将它们导入到PHP类,代表您的主要Web应用程序控制器。您还可以将这些对象与数据库的持久性分解为一个附加文件,或者每个对象类型一个文件 - 这不是面向对象程序中压倒性的文件数量,并且最好将每个对象放入一个大文件。
答案 1 :(得分:0)
考虑使用自引用表 - 包含父步骤('例程')的单个表,然后是每个子步骤。例如:
tbl_routine
ID | ParentID | Title
1 | <null> | Wash the Car
2 | 1 | ..Fill the bucket
3 | 2 | ....Add 1oz Soap
4 | 2 | ....Add 4ltr Water
5 | 1 | ..Put the nozzel on the hose
...
然后使用CTE /递归查询来提取例程及其所有步骤&amp;分步出去。