zoukankan      html  css  js  c++  java
  • DiscuzNT 实体项目(Entity) 简析


        声明:本文内容纯属个人观点,官方保留最终解释

        根据目前官方提供的数据字典(详情见链接)。可以看出数据库中的数据结构:包括表名,字段名,
    字段类型,含义等。通过这些文档可以让大家对整个数据的表结构有一个基本了解。另外本人觉得,如果
    用一篇文章去讲解数据库,让人多少有些凑字的嫌疑。所幸目前还有 Discuz.Entity.dll这个项目没
    有介绍,所以想以这个 dll为主线,“搂草打兔子”,顺便简要介绍一下数据库。

        因为我们的实体类代码是以数据表为导向( entity大部分类都是与数据库表有着对应关系)。比如:
    ForumInfo(版块),TopicInfo(主题), PostInfo(帖子),AttachmentInfo(附件)等等。而它们
    之间的关系如下:




        而另一个重要的实体关联是: UserInfo(用户) , UserGroupInfo(用户组), ModeratorInfo
    (版主),ForumInfo(版块),如下图:

              

        了解了上面两条“主线”,大家应该清楚一个论坛数据库所应有的血肉了,而它们如何协调工作(逻辑执
    行),就是Discuz.Forum.dll, Discuz.Space.dll要做的事了。但这方面的内容本文先不急于涉及,
    在这里先卖个关子了:)

        下面要说的是一个关于权限的问题,请看下图:





        即用户可以通过用户组,版主列表,创始人登陆来获得权限。然后就可以用相应的权限对资源进行相
    应的管理操作了。而作为非常重要的核心:“用户组管理”是有很多文章可做的。

        比如用户组目前的分类如下:

        系统组:对应于数据表dnt_usergroups中的system字段为1的用户组,这些用户组是系统初始化
              时创建,不能在后台删除,只能编辑。

        积分用户组:为了普通的用户访问论坛提供积分设置以及各种控制功能。

        管理组:用于前台管理和控制权限绑定。如版主和超级版主管理员等等。而管理组在数据库表中还对
              应一个表即dnt_admingroups,用户对一些管理操作进行权限指定。

        特殊用户组:用于对有特殊权限的用户进行定制 (有点像绿色通道)。

     

        而不管用户组表中的数据是冗余数据(如dnt_usergroups表中的radminid字段,如下图)还是复
    杂的用户组类型绑定,都是为了强化管理权限的灵活设置和高效运行。



        另外在Discuz.Entity.dll,还有一些其它的info类,比如space, album, Global文件夹下
    的 cs文件等。

        相对于论坛的权限设置,空间的权限设置要简单得多。基本上与 cnblogs相似,即个人有各自的后
    台来进行“高度”自治。管理员也有开通,关闭,审核,推荐到聚合页面等功能。

        好了,就聊到这里吧,相信大家对这些东东有了一个大致的了解。如果大家感兴趣,可以再找出源码
    来一探究竟,会找到更多有趣的东西。


        限于写作时间并不充裕,导致有些问题可能并未阐述清楚,欢迎与我交流。

        我的email:  daizhj@discuz.com,  daizhj617595@126.com, daizhj@gmail.com

        作者: daizhj,代震军

        关键字: discuznt,discuz,实体,Entity

     
  • 相关阅读:
    递归浅析
    python3中zip()的用法
    在早期IBP病人中比较风湿病医生诊断中轴型SpA(aSpA)与非aSpA
    超声检查附着点在早期SpA诊断中的应用
    验证MRI检测AS病人骶髂关节骨侵蚀、扩展侵蚀和回填
    EULAR2008_TNF拮抗剂保护RA骨关节的机制可能不止是抑制滑膜炎
    RA关节功能残疾与软骨破坏的相关性高于骨破坏
    TNFBA治疗强柱达8年的放射学评估
    荟萃分析随机对照临床试验显示抗TNF治疗未增加早期RA病人的严重感染和肿瘤发生风险
    早期IBP病人骶髂关节MRI炎症与1年后MRI结构破坏之间的关系
  • 原文地址:https://www.cnblogs.com/daizhj/p/1026287.html
Copyright © 2011-2022 走看看