用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6661|回复: 12
收起左侧

我想扩展Cotroller作为我的部分Colltroller的基类,该怎么做

[复制链接]
发表于 2008-11-15 21:21:00 | 显示全部楼层 |阅读模式
如题,我是想扩展一些function,同时我想做多个Controller分别作为我的一些controller的基类,因为不同的controller是从不同的controller继承下来的,我已经写在appication/libs下面一个了,我命名为BaseController,可是我写的controller找不到,
望高人指教,请写的详细一点,我刚接触ci的,我的想法是用几个控制器对系统的控制器进行扩展,然后在具体的控制器中作为基类,这样方便实现不同的功能
发表于 2008-11-15 22:58:59 | 显示全部楼层
 楼主| 发表于 2008-11-17 10:01:42 | 显示全部楼层
这篇文章我看了,但还是有个疑问
如果我建立了一个MY_Control继承Control,如果我还需要一个控制器怎么办?
我需要的是多个控制器扩展系统的COntrol,我看这篇文章没有提到这个功能
发表于 2008-11-17 17:51:31 | 显示全部楼层
什么是多个控制器扩展 Controller ?
你继承一个 MY_ 然后都从 MY_ 继承你的控制器不就可以了?
目前 CI 核心对多层继承不支持。
 楼主| 发表于 2008-11-20 14:11:34 | 显示全部楼层
举个例子吧,比如我有4个控制器,shop, order(这2个是和商品相关的), buyer, sellor(这2个是和用户相关的),因为这4个控制器中shop和order有比较多的相似性,buyer和sellor有比较多的相似性,那么我希望他们能分别继承自2个不同的控制器,分别封装它们各自需要的共有的方法,那么我需要的控制器可能是MY1_和MY2_,分别继承自系统的Control,
在MY1_controller中,我有方法
myfunction1
而MY2_COntroller中,我要有方法
myfunction2

楼上老大,不知道我有没有表达清楚,


~目前 CI 核心对多层继承不支持~,是不是说我的想法无法实现?有没有能实现我这个想法的框架,最好能像ci,简单轻便高效,
发表于 2008-11-20 14:30:46 | 显示全部楼层
也许能实现,但常规情况下 CI 不允许这么做。
也许应该从你的设计上重新思考一下,共有的部分可以做成类库。

至于其他框架,我就不清楚了,我只喜欢 CI 呵呵。
发表于 2008-11-20 15:47:09 | 显示全部楼层
嗯?我记得好像是可以的吧?

好久没用CI了忘记了,但Kohana是肯定可以的……
发表于 2008-11-20 17:31:44 | 显示全部楼层
沧蓝你说怎么实现?
发表于 2008-11-30 19:40:09 | 显示全部楼层
无聊.
犯了教条主义。
CI的灵活,就是让用户方便使用。
你何必一定要修改CI的基类呢。你在controler文件夹下写两个类就可以了。
abstract Basecontroller1
abstract Basecontroller2
 楼主| 发表于 2008-12-14 21:06:35 | 显示全部楼层
楼上,该怎么写和该怎么样用呢

本版积分规则