二次開發目錄(以下簡稱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