NO.31 禅道项目管理软件model的新扩展机制

Stella981
• 阅读 504

禅道的扩展机制在前面的文档已经介绍过了,这篇文档主要介绍model的新扩展机制。当然,以前的扩展机制也是适用的。

更多开源详情:http://www.zentao.net/

一、适应版本

要使用新的扩展机制,必须是禅道3.2以上版本。

二、类扩展

1、扩展文件名

misc模块的model扩展为例,文件结构如下:

NO.31 禅道项目管理软件model的新扩展机制

在misc/ext/model/目录下面新建一个class目录,扩展文件就写在class目录下面。

扩展文件名格式:插件名 + class.php, 插件名是小写。例如,如果插件名是testBox,那么扩展文件的名字就是:testbox.class.php。

2、扩展文件内容

如图:

NO.31 禅道项目管理软件model的新扩展机制

类名的格式:插件名 + 模块名。 插件名要小写, 模块名的首字母大写。例如,插件名是testBox,对misc模块做扩展,那么类名是testboxMisc。

3、扩展的调用

扩展的在任意model中调用,还是以testBox对misc模块扩展为例,可以在misc/ext/model/目录下新建一个textbox.php的文件,此处跟前面扩展一样。

示例如下:

NO.31 禅道项目管理软件model的新扩展机制

通过$this->loadExtension('插件名')方法来调用扩展。同时,在使用loadExtension方法后,会有$this->类名 的变量,后面可以用这个变量调用扩展。

三、钩子扩展

钩子扩展是新的扩展方式。可以通过钩子对model做扩展,而不用再重新定义。

1、扩展文件名

文件结构如下:

NO.31 禅道项目管理软件model的新扩展机制

 以misc模块的model扩展为例, 在misc/ext/model/目录下面新建一个hook目录,扩展文件就写在hook目录下面。

扩展文件名格式:方法名 + 字母 + .php, 中间部分主要是防止文件重名,建议用插件名。例如,如果对hello做钩子扩展,那么扩展文件的名字就是:hello.test.php。 

2、扩展文件内容

如图:

NO.31 禅道项目管理软件model的新扩展机制

因为钩子文件是都model做扩展,所以可以调用model和系统的方法,具体可以自己实践一下。

3、扩展的调用

如果你是禅道3.2以上版本,则系统会自动加载钩子,只要你的扩展写的没错,那扩展就应该可以实现。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
NO.56 杭州汇云科技 禅道使用经验分享
关于禅道使用经验分享禅道项目管理(www.zentao.net(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog))使用经验分享,欢迎大家一起来探讨关于禅道项目管理软件使用方面的问题。我
Wesley13 Wesley13
3年前
NO.64 禅道开源项目管理软件4.0正式版本暨专业版2.0版本发布!
禅道开源项目管理软件(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog)4.0正式版本禅道的朋友们,我们非常自豪的向您推荐禅道最新的4.0版本!相比较于去年9月3日发布的3.3版本而言
Wesley13 Wesley13
3年前
NO.76 禅道使用分享第八期:创维软件开发团队畅谈专业版
关于禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dchangxiang%26a%3Dblog)使用经验分享 禅道(https://www.oschina.net/action/GoToLink?url
Stella981 Stella981
3年前
NO.16 简单的Hello world!
安装好框架之后,让我们来用框架来实现helloworld!更多禅道详情尽在:http://www.zentao.net/(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog
Stella981 Stella981
3年前
NO.33 禅道插件实例:创建bug时可以设置优先级字段
这个例子用来向大家展示如何使用禅道的扩展机制来对禅道进(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog)行各种定制,而不用担心后续升级之后被覆盖。目标:在创建bug(https:/
Wesley13 Wesley13
3年前
NO.112 禅道使用分享第十八期:工作效率明显提高。
关于禅道使用经验分享禅道使用经验分享,欢迎大家一起来探讨关于禅道项目管理软件(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dpanxianzhi%26f%3Dos%26a%3Dblog)使用方面的问题。我们广泛的收集对禅
Wesley13 Wesley13
3年前
NO.32 禅道项目管理软件的命令行入口
禅道项目管理软件(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog)命令行接口给大家提供了另外一种控制禅道的方式,可以通过它来进行各种各样的操作。更多开源详情:http://www.z
Wesley13 Wesley13
3年前
NO.30 禅道项目管理软件扩展机制简介
禅道项目管理软件(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog)(www.zentao.net(https://www.oschina.net/action/GoToLink?url