由于帝国CMS没插件API,所以在做帝国CMS二次开发的时候特别容易出现系统升级,文件管理混乱等麻烦,trylife总结出一些帝国CMS二次开发注意事项与大家分享下:
1.不在原系统中更改不会出现漏洞的插件建议都独立来做 ,不在原系统中更改;比如今天的AJAX登陆、注册、下载,不用AJAX也一样能登陆注册和下载并且用户即使找到了老的登陆连接,老的注册地址,老的下载地址,也不会出现漏洞;
2.如果不更改原系统文件就会出现漏洞,那么也不要在原文件中一片一片的写代码,把代码都写到自己文件里,以函数为单位,把文件引用到适当位置把函数插入到要更改的地方并且加上注释;今天碰巧看到一位仁兄做的都是一大片一大片的代码插入,本来整洁的e/DoInfo/ecms.php一片狼藉.以后会多麻烦~
3.有些文件系统会重新生成的,代码不要手写到这些文件里;大家都知道e/class/config.php是配置文件(ecms7.0版本为e/config/config.php),里面有整站参数设置,模型信息等,经常会更新,也没有人向这里手写代码;
e/data/dbcache/class.php(栏目和专题缓存文件,默认引用了栏目缓存 e/data/dbcache/class1.php 专题缓存e/data/dbcache/ztclass.php )上次一个朋友把文件引到这里,因为栏目缓存基本是全站引用的捎带着就把自己定义的文件引进去了,而且又是一个僻静的角落,当时trylife也觉得这地方引用文件还不错又干净又僻静;今天想起来仔细一看这个文件也是系统会更新的,建立超过250个栏目就有class2.php出现了(代码可以参看e/class/functions.php的GetClass()函数);
4.自己创建的文件不要乱放;目前为止trylife使用的目录结构如下:
e/trylife/common/ 放置常用的JQuery js插件 自己常用的PHP函数文件
e/trylife/插件1英文目录名/ js php html等此插件独有必须的文件
e/trylife/插件2英文目录名/
e/trylife/插件3英文目录名/
………
e/trylife/插件n英文目录名/