【发布时间】:2012-09-03 14:18:20
【问题描述】:
我正在编写一个站点(PHP + MySQL),其中一些对象(比如文章)按集合组织。每篇文章都属于一个单例集。每个集合可以是独立的,也可以属于更大的集合。集合要么是单例,要么是集合的集合。为了跟踪集合之间的关系,我使用了一个封闭表来跟踪所有“家庭联系”。该表有一个ancestor 字段、一个descendant 字段和一个length 字段,用于计算祖先和后代之间的分离度。
- 每篇新文章都意味着创建一个新的单例集。
- 每个新集合都意味着创建一个新的闭包表条目,其中
ancestor和descendant相同且length=0。由于集合可以是现有集合的集合,因此可以独立于文章创建新集合。
我想构造我的 PHP 程序,这样每次我在数据库中写一篇新文章时,我都会自动编写一个新集合,并且每次加载一个新集合时,我都会自动编写一个新的闭包表条目。
构建代码的正确方法是什么?是否创建嵌套对象(article 对象包括一个set,它本身包括一个closure)和一个在数据库上写入的递归函数,该函数将首先写入嵌套对象(以及结束条件的位置)如果对象是一个闭包表条目)?有没有办法将这些递归写入折叠到单个事务中?
我可以使用现有的模式吗?
【问题讨论】:
标签: php mysql oop design-patterns pdo