80053
关于构造函数内的功能需要扩展的问题
回帖数 4
阅读数 2221
发表时间 2011-03-21 10:47:14
近上级安排修改禅道系统,为以后升级方便,尽量采用扩展的方式,可是发现如果功能是写在构造函数内就不能扩展(如果可以请告知方法 谢谢),例如module/project/control.php的构造函数内读取projects的功能,我想修改为有筛选功能的,不得不改了原文件,建议构造函数内不要写具体功能,调用一个外部方法比较好。
我用的是1.5版。
我用的是1.5版。
4个回复
我现在是想修改__construct内的功能,这些功能是被这个模块的所有操作公用的,我不想扩展contro的每个方法,就只能修改原__construct,还有就是这个用公用方法也不行。
control的扩展为什么不能采用model的方式,存在extmodel就实例化extmodel,这样就能解决我的问题了。
control的扩展为什么不能采用model的方式,存在extmodel就实例化extmodel,这样就能解决我的问题了。
2011-03-22 16:47:05 Jun 回帖
4个回复
你可以通过扩展project的model里面的getPairs()方法吧。
control的扩展,可以是继承的:
可以直接继承自control类,也可以继承自misc类。如果是后者,则需要这么写:
include '../../control.php'; misc的contro类文件需要手工包含。
class myMisc extends misc
{
public function getsid()
{
}
}
你可以考虑自己定义一个control.php,放在扩展的目录下面,作为基类,然后其他扩展的方法,都来包含这个文件,然后继承自你自己定义的类,这样就可以实现代码的重用了。:)。原来的control就完全被绕开了。
control的扩展,可以是继承的:
可以直接继承自control类,也可以继承自misc类。如果是后者,则需要这么写:
include '../../control.php'; misc的contro类文件需要手工包含。
class myMisc extends misc
{
public function getsid()
{
}
}
你可以考虑自己定义一个control.php,放在扩展的目录下面,作为基类,然后其他扩展的方法,都来包含这个文件,然后继承自你自己定义的类,这样就可以实现代码的重用了。:)。原来的control就完全被绕开了。
2011-03-23 13:14:01 王春生 回帖
联系我们
联系人
刘斌/高级客户经理
电话(微信)
17685869372
QQ号码
526288068
联系邮箱
liubin@chandao.com

相关帖子
一身肌肉的皮带 | 最后回帖 2025-03-07 09:09 马超
胡文杰 | 最后回帖 2019-01-11 11:10 禅道-李锡碧
爱听歌的圣诞树 | 最后回帖 2017-09-04 10:51 石洋洋
glw | 最后回帖 2024-11-28 11:10 王林
sealine | 最后回帖 2025-03-14 11:02 金凯
温文尔雅的电脑桌 | 最后回帖 2025-03-17 09:11 于涛



精品资料包
1V1产品演示
免费试用增强功能
专属顾问答疑支持


