80053
关于构造函数内的功能需要扩展的问题
回帖数 4
阅读数 2051
发表时间 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 王春生 回帖
联系我们
联系人
刘璐/高级客户经理
电话(微信)
18562550650
QQ号码
2845263372
联系邮箱
liulu@chandao.com

相关帖子
先知 | 最后回帖 2017-01-11 15:15 肖雯
好实用 | 最后回帖 2019-08-14 17:54 王林
小屁孩儿 | 最后回帖 2017-07-27 15:42 石洋洋
邂逅之舟 | 最后回帖 2018-10-30 14:03 石洋洋
一身肌肉的皮带 | 最后回帖 2025-03-07 09:09 马超
自信的熊猫 | 最后回帖 2025-10-28 08:37 禅道-王誉霖



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


