二次开发目录(以下简称CUSTOM_CORE_DIR)提供一个独立的二次开发环境目录,需要开发者在config.php中自定义一个文件目录,用于接管系统原有的流程,从而达到在不影响系统本身代码的情况下进行二次开发的目的。
CUSTOM_CORE_DIR使用方法与规则
- MVC文件
- LIB
- dbschema
- XML文件(site.xml,services.xml,desktop.xml等)
- 设置setting.php
- widgets文件
- xmlschema文件
- initial初始化文件
- task.php安装任务文件
CUSTOM_CORE_DIR使用方法与规则
- 首先我们需要在系统的config.php中加入一行"define('CUSTOM_CORE_DIR',ROOT_DIR.'/xxx');"来定义二次开发的环境目录。xxx代表二次开发目录名,二者需要一致。
- 然后我们在与APP文件夹同级的目录下新建立一个名为xxx的文件夹,把需要接管的文件按原目录(APP下目录)重建。
- 把需要接管的文件按照原APP,原路径,以及原文件名重建(如果需要还原,把新文件删掉即可)。
- 如果需要改动dbschema,或者xml文件,后台更新维护才能生效。
使用CUSTOM_CORE_DIR
- 在配置文件config/config.php中加入二次开发的环境目录配置
define('CUSTOM_CORE_DIR',ROOT_DIR.'/custom');
- 修改文件
如果在二次开发中需要修改 app/b2c/controller/admin/brand.php 文件
那么我们可以需要在app 同级下建立custom文件夹,然后在custom文件夹中建立 /b2c/controller/admin/brand.php 文件
custom 中的文件命名规则和在 app 下是一样的,这样custom中的brand.php 接管了 app下的brand.php
如果是修改只要修改custom 中的文件就可以了,如果需要还原只要把custom中的文件删除即可。
使用二次开发模式的优缺点利
可以在不修改原系统代码的前提下,重载并扩展系统功能,为其他定制app提供支持
弊
如果定义了desktop.xml或者service.xml或者dbschema中的数据库描述文件,那么原系统的这些文件如果升级后发生变化,那么该 部分变化将无法得到更新。所以尽量避免对这些文件的定制重载(后续版本会更改这个机制,对于这类文件会采用内容追加的方式,而非替代)
http://www.ec-os.net/append-b/re-development.html