一、模块开发过程
1、新建模块目录(小写)，根目录下模块可跳过这一步；
2、生成一个入口文件，内容为 加载框架入口 jxcms/common.php，应用程序运行 App :: run();
3、入口文件中定义模块目录常量 MODULE_DIR，以/结尾，仅在入口文件在根目录下，而Lib目录在独立目录下使用，入口和Lib目录在相同目录下可跳过这一步。
4、入口文件中定义控制器分组常量 ACTION_GROUP，仅在需要将控制器独立目录存放时使用，例如：admin.php,控制器存在放Lib/Action/Admin/目录下，不需要分组的可以跳过这一步；
5、在浏览器地址栏输入模块入口文件地址并回车，至此开发模块已经准备完成，扩展相应的控制器和模型就能开发出用户需要的模块。
备注：jxcms/config.php中APP_RUN_TYPE设置为1，即开发模式，才能自动生成模块目录及结构类文件，设置为0，即正常模式，不会自动生成模块目录及结构类文件；共用的入口的应用，只需在浏览器地址栏输入入口文件地址末尾跟上参数?c=控制器名称,即可完成模块基本结构文件的创建。
特别提示：本框架支持独立目录模块和系统根目录下模块，并且独立目录可以绑定二级域名！

二、开发规范
1、模块目录小写；
2、类的命名均首字母大写，文件名和类名一致，以.class.php为文件后缀；
3、Action控制器类以Action为后缀，即首字母大写+Action，例如：IndexAction,对应的文件名为IndexAction.class.php；
4、模型类以Model为后缀，即首字母大写+Model，例如：UserModel,对应文件名为UserModel.class.php；
5、类的方法和属性采用驼峰法命名，且首字母小写，例如：getView、getUserName；
6、URL中的具体控制参数 a(对应控制器和模板中的变量$a) ，对应的值由字母和下划线组成，不区分大小写，例如：a=get_name 代表调用相应控制器中的方法getName；由于存在系统函数list,系统自动将list转换为showList方法进行调用；
7、URL中的控制器参数 c 对应的值由字母和下划线组成,不区分大小写，例如：c=index 代表调用IndexAction控制器；
8、函数采用小写字母和下划线命名，例如：get_ip；
9、常量采用大写字母和下划线方式命名，例如：JXCMS_ROOT；
10、语言包开发说明，语言包存放在模块目录下的Lib/Lang/目录里，文件名以小写英文字母、数字、下划线组成；语言包分3个部分，jxcms/Lib/Lang为框架语言包，根目录/Lib/Lang为系统语言包，模块目录/Lib/Lang为模块语言包，从前往后，依次覆盖，模块语言包可以省略，合并到系统语言包中，在调用L函数时，如果未指定语言分类(或者采用默认分类common)，且已定义控制器分组常量ACTION_GROUP，则系统会最后加载ACTION_GROUP值对应的语言包；
11、公共类库说明，公共类库包含3个部分，jxcms/Lib/Public为系统公共类库，根目录/Lib/Public为项目公共类库，模块目录/Lib/Public为模块公共类库。
12、整个项目允许有一个公共控制器CommonAction，必须存放在系统根目录下的Lib/Action目录里。

三、系统运行说明
1、系统基本配置，修改根目录下的config.php文件以适应系统正常运行；
2、框架支持模板文件（含资源文件）放置在系统根目录下和模块目录下，且模块目录优先于系统根目录；
3、一般情况下不需要在模块下增加独立设置文件(config.php)，但模块如果要绑定域名的，则需要增加该文件并设置其中的APP_DIR为相对于当前域名的路径，模板文件（含资源文件）也必须放置在模块目录下。