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

[讨论/交流] CI 如何在一个控制器中调用另一个控制器的方法 ?

[复制链接]
发表于 2009-7-3 15:39:02 | 显示全部楼层 |阅读模式
本帖最后由 xian366 于 2009-7-3 15:59 编辑

RT

有没有变通的方法?
发表于 2009-7-3 15:44:08 | 显示全部楼层
目前不能互相调用,除非修改 CI 源代码。
或者扩展出新的功能。
 楼主| 发表于 2009-7-3 15:49:22 | 显示全部楼层
扩展出 写到libraries 中,也行,不过离得有点远!

这样比写到model中规范点;
发表于 2009-7-3 16:37:36 | 显示全部楼层
ci的功能比较弱,楼上的方法可行,
不过为什么要调用其他的control呢
发表于 2009-7-19 11:47:07 | 显示全部楼层
把公共方法放到model里面吧。 规范些。
发表于 2012-11-7 17:27:16 | 显示全部楼层
那我后台验证登陆的方法呢?
发表于 2012-11-9 16:46:00 | 显示全部楼层
wonderful 发表于 2012-11-7 17:27
那我后台验证登陆的方法呢?

后台验证的方法也可以放到Model中的呀   然后自C的构造方法中 调用判断就OK了丫
发表于 2012-11-9 21:59:37 | 显示全部楼层
Ding 发表于 2012-11-9 16:46
后台验证的方法也可以放到Model中的呀   然后自C的构造方法中 调用判断就OK了丫 ...

这样的话,在每个控制器里都需要加载这个模型,然后执行这个验证方法的啊,感觉有点麻烦了
发表于 2012-12-26 14:54:27 | 显示全部楼层
控制器调用其他控制器方法,楼主首先应该想一下设计方法是不是有问题,当一个控制器需要跨控制器调用方法时应该认识到这一点,如果楼主觉得这样做确实没有问题,那是否应该将那个方法所在控制器抽象成web service,相当于搭建了一个SOA的架构。 可以专门写一个API_Controller 专门来做这一类的逻辑处理,然后通过curl的方式去调用数据,而不是直接去调用。
发表于 2012-12-26 15:28:07 | 显示全部楼层
非要调用也简单啊,直接include and new class

本版积分规则