你现在的位置:首页 > PHP网站建设知识库 > UCenter Home > 正文

UCHome二次开发规范

此文涉及的开发模式是在本地开发,以插件的形式扩展UCHome原有功能,适合在自己的网站服务器中增加应用功能.和UCHome的Manyou开发模式不同,Manyou是利用Discuz的开放平台MYOP开发公共插件,必须处理联网模式,可供所有基于UCHome的网站使用。

 由于UCHome发展速度很快,经常会有版本更新,往往这个时候,修改了UCHome源码的站长就会面临一个两难的问题:是升级程序?还是为了保留以往的修改,而不升级?在我看来,如果前期做好开发规范,是完全可以避免这个问题的。下面介绍一下我在UCHome Apps开发过程中的一些经验。
 
想要能够随着官方的程序发布实现平滑的代码升级,无非一点:尽量的少改UCHome原有代码,避免升级时发生冲突被覆盖。少改,但不是不改。一点不改程序的源代码是不可能的。但如何能实现少改呢?我定制了了下面的一些规则:
基本原则:
除template目录下的模板文件,其余uchome原有文件尽量不要改动。如需要改动,需汇报项目管理人员并详细记录后才可实施修改。
即使需要对系统原有文件进行修改,尽量不要在文件中增加逻辑代码,也不要修改原有逻辑,使用include的方式来增加逻辑。
例如,需要在系统首页增加growth的表单,设计到两个系统原有文件的修改:
source/space_feed.php
template/space_feed.htm
但请不要直接在这两个文件中增加逻辑代码,对于模板文件,可以使用<!-{template apps/growth/tpl/widget/form.htm}–>的方式加载一个外部文件;同样,针对程序文件,也可以使用include ‘apps/growth/widget/form.php’的方式。
采用这样的方式,即使以后程序文件被覆盖,也不会增加太多工作量。
 
强烈推荐采用下面的方式进行uchome二次开发
二次开发文件的目录
uchome
        —apps.php
        —apps
                     —img
                     —js
                     —source
                     —common
                     —template
                     —growth.php
以apps.php作为入口文件,所有应用都使用类似apps.php?do=growth&ac=list这样的URL访问应用程序。其中do为应用名称,ac为动作(执行的脚本名)。例如上面的例子,实际是以apps.php为入口,再加载apps/growth.php,在growth.php中一ac的参数做相应的处理。
应用程序统一放在apps目录之下,同space的目录结构相似。
其中tpl文件夹存放模板文件,img文件夹存放图片,可根据应用需求安排文件结构。
apps/common文件存放一些应用程序公用的文件,例如公用的js库,function库,类库等。
 
命名规范
程序命名规范
 * 文件名一律小写,单词间以下划线分隔
 * 类名采用首字母大写的驼峰命名方式
 * 类中的方法名采用首字母小写的驼峰方式命名
 * 类中的私有方法和私有变量以下划线开头
 * 函数名全小写,单词间以下划线分隔
 * 变量名同函数名
 
数据库命名规范
 * 数据表以uchome_app_作为前缀,例如uchome_app_growth_point
 * 字段名全为小写,以下划线分隔单词
 * 建议在建表时注明备注,方便理解字段用处
 * 对数据表结构的更改,请详细记录更改时间和更改原因。