80053
关于构造函数内的功能需要扩展的问题
回帖数 4
阅读数 1973
发表时间 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

相关帖子
胜果科技-郭辉 | 最后回帖 2024-07-29 17:54 孔令茂
小羽 | 最后回帖 2019-09-12 10:46 石洋洋
浅~落寞 | 最后回帖 2016-01-14 20:02 王春生
周杰 | 最后回帖 2017-10-18 13:57 王春生
粥粥 | 最后回帖 2020-10-19 13:47 张玉洁
Qter | 最后回帖 2020-09-07 17:52 马超


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


