
zentaoPHP框架擴展機制
手冊分類

- 1 zentaoPHP二次開發簡介
- 2. zentaoPHP框架擴展機制
- 2.1 擴展機制簡介
- 2.2 新增獨立模塊
- 2.3 對控制層(control)擴展
- 2.4 對模型層(model)擴展
- 2.5 對視圖層(view)擴展
- 2.6 對樣式表和js進行擴展
- 2.7 對多語言和配置進行擴展
- 2.8 增加新的類庫
- 3. zentaoPHP框架API機制
- 3.1 API機制簡介
- 3.2 需要登錄驗證的api調用
- 4 zentaoPHP框架命令行機制
擴展機制簡介 分享鏈接 /book/extension-new/basic-1252.html
作者:禅道團隊
最后编辑:朱金勇 于 2022-03-31 10:15:26
浏覽量:10286
易软天创团队使用PHP这十几年过程中,也曾经使用过很多PHP开源的软件。在使用过程中,遇到了一个同样的问题:如果对代码做过个性化的修改,就没有办法跟着官方的版本进行升级了。做得稍好一些的比如wordpress, dupral, discuz这些程序后来有了自己的hook扩展机制。但这种扩展机制是基于动作或者事件的,只能对原有的系统做局部的修改,限制性比较强,没有办法对系统做比较深入的修改。带着这个问题,我们在设计zentaoPHP框架的时候,就特别注意框架的扩展性。得益于PHP5.2版本以后oop语法的增强,zentaoPHP框架实现了深入彻底的扩展机制。
禅道的功能都是由一个个的模块组成的,每个模块会对应到module下面的一个目錄,比如project、user等模块。每个模块下按照mvc进行划分,有自己的control(控制层)、 model(模型层)和view(视图层)。同时我们还补充了其他几个辅助的概念:config(配置)、lang(语言)、 css(样式)和js(js脚本)。通过zentaoPHP框架的扩展机制,可以实现对任一层的扩展。
1. 针对禅道已有模块,扩展代码的目錄结构如下:
extension/custom/user/ext/control/{method1.php, method2.php, ...} extension/custom/user/ext/model/{extend1.php, extend2.php, ...} extension/custom/user/ext/view/{method1.html.php, method2.html.php, ...} extension/custom/user/ext/config/{config1.php, config2.php, ...} extension/custom/user/ext/lang/zh-cn/{lang1.php, lang2.php, ...} extension/custom/user/ext/lang/en/{lang1.php, lang2.php, ...} extension/custom/user/ext/css/method1/{1.css, 2.css, ...} extension/custom/user/ext/js/method1/{1.js, 2.js, ...}
2. 针对新增模块,所有代码都需要在extension/custom目錄下编写:
extension/custom/oa/control.php extension/custom/oa/model.php extension/custom/oa/view/{metho1.html.php, method2.html.php, ...} extension/custom/oa/config/config.php extension/custom/oa/css/{method1.css, method2.css, common.css, ...} extension/custom/oa/js/{method1.js, method2.js, common.js, ...} extension/custom/oa/ext/control/{method1.php, method2.php, ...} extension/custom/oa/ext/model/{extend1.php, extend2.php, ...} extension/custom/oa/ext/view/{method1.html.php, method2.html.php, ...} extension/custom/oa/ext/config/{config1.php, config2.php, ...} extension/custom/oa/ext/lang/zh-cn/{lang1.php, lang2.php, ...} extension/custom/oa/ext/lang/en/{lang1.php, lang2.php, ...} extension/custom/oa/ext/css/method1/{1.css, 2.css, ...} extension/custom/oa/ext/js/method1/{1.js, 2.js, ...}
开发者只要按照我们的扩展机制,把相应的扩展代码部署到对应的目錄,即可实现对现有功能的重新定义或者新增功能。因为扩展代码和主干代码是分离的,所以就不用担心主干代码升级时会覆盖扩展代码。就可以做到放心的升级。
-
禅道産品
禅道開源版 禅道企業版 禅道旗艦版 禅道IPD版 -
核心功能
産品管理 項目管理 質量管理 效能管理 -
使用文檔
基本版手冊 企業版手冊 旗艦版手冊 IPD版手冊 開發中心手冊 -
幫助中心
积分問答 常見問題 論壇交流 使用視頻 Gitee GitHub -
關于我們
關于我們 禅道軟件 最新動態 禅道活動 -
禅道社區
禅道博客 積分排行 積分商城 禅道書院 -
聯系方式
聯系人:劉璐 電話:18562550650 微信:18562550650 Q Q:2845263372北京、上海、深圳分部
友情鏈接:
ZTF自動化測試框架
ZenData測試數據生成器
喧喧IM
敏捷開發
敏捷咨詢
測試窩
悅庫網盤
Ledge知識平台
渠成軟件
ZDOO全協同企業管理軟件
融管理社區
ZenDAS數據分析工具
ZenShot跨平台截圖工具
飛信釘即時通訊解決方案
項目管理
IPD學習網
PMP百科網
艾體驗
創無記2049