dedecms5.7原代码分析 模块的管理

dedecms为了便于扩展,支持模块功能管理。

最新的模块支持列表URL为:http://updatenew.dedecms.com/base-v57/dedecms/module_utf-8/modulelist.txt 其为一个txt文件,以类似json的格式存储。

文件中存储的是当前可安装或更新的模块的列表索引,主要包括一些安装的必要信息,其中最主要的是其xml文件的索引,xml文件以module标签开始,其文件内容以base64存储

定义了baseinfo标签,存储模块说明信息

定义安装卸载sql语言

modlefils 存储文件或目录名,类型(文件或目录),文件内容(以base64方式存储)

各模块的xml文件缓存于其缓存于Dede/data/module,超时重新远程下载更新

当开始安装时,$action==’setup’,生成DedeModule类,DedeModule用于模块的安装操作。

其主要包括解析xml文件的解析,参数判断,权限判断,文件内容解析,最后将模块文件存储于Dede\dede目录下。

当安装成功后,数据库已经存有该模块的安装信息,即可在左边的模块列表中查看,根据模块提供的内容进行内部管理。

其实个人有些问题,dedecms的数据组织格式有些奇怪的,个人未曾见过,像json不像json的数据格式,自己也未曾研究过,不过只需要学习其架构设计思想即可。

现在页面开发,遵循mvc结构,dedecms是以变量等进行界面和控制层进行交互的,个人以前也曾用数组进行传递的,因人而已吧。

最后说下,dedecms的后台管理员目录为dede/dede目录,其后的那个dede名字可以更改的,其此目录下的所有php文件即为后台管理文件,包括新增的扩展模块文件,而css,js,images其按文件名进行分类,如codemirror其下有js,css文件,分别位于不同的目录下,这样看着是好看,但确实未曾按模块来管理,个人总觉地怪怪的。

20

取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by bytekits.com,汇天下文字,成非凡梦想!!!