
修改已有模塊
手冊分類

- 1 禅道二次開發簡介
- 2. 禅道擴展开发
- 2.1 禅道擴展机制简介
- 2.2. 新增獨立模塊
- 2.2.1 基本的代碼組織
- 2.2.2 新增控制層(control/zen)
- 2.2.3 新增模型層(model/tao)
- 2.2.4 新增視圖層(view/ui)
- 2.2.5 新增語言項lang和配置項config
- 2.2.6 新增前端樣式CSS和JavaScript
- 2.3. 修改已有模塊
- 2.3.1 對控制層(control/zen)擴展
- 2.3.2 對模型層(model/tao)擴展
- 2.3.3 對視圖層(ui)擴展
- 2.3.4 對樣式表CSS和JavaScript進行擴展
- 2.3.5 對多語言和配置進行擴展
- 2.4. 常用類庫
- 3. 禅道API
- 3.1 API機制簡介
- 3.2 需要登錄驗證的API調用
- 4 命令行調用
對控制層(control/zen)擴展 分享鏈接 /book/extension-dev/ext-control-1333.html
作者:zentaoteam
最后编辑:朱金勇 于 2024-07-25 10:46:49
浏覽量:3668
本篇目錄
一、控制層control
對現有模塊的control層的擴展有兩種,一種是覆蓋現有的方法,一種是增加新的方法。下面我們來看下如何進行擴展。
文件命名規則
无论是覆盖现有的方法,还是新增方法,扩展文件都是以方法名为名,保存到ext/control目錄下面。文件名都是小写。
比如以user模塊爲例,我們想重新定義它的注冊邏輯,只需要在extension/custom/user/ext/control下面創建register.php,然後實現代碼即可。
如果我們想爲user模塊增加一個開放登錄功能,比如叫做oauth,只需要在extension/custom/user/ext/control下面創建oauth.php,然後實現代碼即可。
獨立擴展代碼
在對control層進行擴展的時候,可以完全獨立,也可以重用主幹代碼在control裏面定義的方法。下面的例子是完全的獨立的。
class user extends control { public function register() { $this->view->header->title = 'getsid'; $this->view->sid = session_id(); $this->view->test = $this->misc->test(); $this->display(); } }請大家注意類名的定義:user,從control基類派生而來。這樣的定義是完全獨立的。
繼承擴展
上面的例子是独立的扩展,但很多时候还想重用禅道原来的代码,则可以通过繼承擴展的方式来实现。class myUser extends user { public function register() { .... $this->process() // process方法是在../../control.php里面定义 } }
繼承的user類已經使用autoload自動加載到內存中,只需要定義類名myUser(my + 模块名),從user類派生而來,這樣就可以在register方法裏面調用父類user的process方法。
二、控制子層zen
zen層方法的擴展相對比較容易,只需要定義方法就可以。如果該方法已經在模塊中定義過就會覆蓋,如果之前沒有定義過就是新增。
新增 extension/custom/user/ext/zen/xxx.php,其中 xxx.php为插件名。
protected function getTodoList() { return $this->user->getTodoList(); }
需要說明的是這裏面的定義不包含類的聲明,就只是一個方法的聲明。
control层同样可以通过 $this->userZen->getTodoList(); 进行调用。
四、限制
由于框架加載機制的限制,control一個方法只能有一個擴展。
-
禅道産品
禅道開源版 禅道企業版 禅道旗艦版 禅道IPD版 -
核心功能
産品管理 項目管理 質量管理 效能管理 -
使用文檔
基本版手冊 企業版手冊 旗艦版手冊 IPD版手冊 開發中心手冊 -
幫助中心
积分問答 常見問題 論壇交流 使用視頻 Gitee GitHub -
關于我們
關于我們 禅道軟件 最新動態 禅道活動 -
禅道社區
禅道博客 積分排行 積分商城 禅道書院 -
聯系方式
聯系人:魏中顯 電話:18561939726 微信:18561939726 Q Q:1746749398北京、上海、深圳分部
友情鏈接:
ZTF自動化測試框架
ZenData測試數據生成器
喧喧IM
敏捷開發
敏捷咨詢
測試窩
悅庫網盤
Ledge知識平台
渠成軟件
ZDOO全協同企業管理軟件
融管理社區
ZenDAS數據分析工具
ZenShot跨平台截圖工具
飛信釘即時通訊解決方案
項目管理
IPD學習網
PMP百科網
艾體驗
創無記2049