CI中怎么在一个控制器中调用另外一个控制器的函数
[*]<?php
[*]class BlogPost extends CI_Controller
[*]{
[*] public function createPost() {
[*] if (!Authentication::checkAuthentication()) {
[*] // redirect to login
[*] }
[*] else {
[*] // proceed
[*] Messages::notifyAdmin();
[*] }
[*] }
CI中怎么在一个控制器中调用另外一个控制器的函数,请问这里的Authentication 和Messages就是其他控制器。但是我这样测试了一下会出错。
因为CI 本身没有autoload机制
想要调用Authentication
可以
require APPPATH.'controller'.youfile
或者把Authentication的方法写在对应的Model中,
大道达人 发表于 2012-10-9 22:08 static/image/common/back.gif
因为CI 本身没有autoload机制
想要调用Authentication
可以
看来目前就只好这样了。。。。 放model里吧 longjianghu 发表于 2012-10-10 14:27 static/image/common/back.gif
放model里吧
不太好呀。。。。。。 守望幸福的孩子 发表于 2012-10-10 16:15 static/image/common/back.gif
不太好呀。。。。。。
我的意思把你要访问的哪个控制器的方法(取数据部份)放model里,这边加载Model就可以访问了啊 我觉得楼主的程序架构可能存在有一定的问题。
在mvc中,c这一层并不提倡被复用。m这一层并不做逻辑判断的事情。这样一来,楼主想在不同controller里使用相同的逻辑判断,比如登陆。这时你可以采用ci里的library来做……至少我认为这样挺不错的!
如果你曾经在某个框架里看到不同controller相互调用,你可以认为那是一种弱设计,我本人并不提倡这样做。至少目前你说的登陆逻辑,可以抽象出一个login_library.php来处理。
可以关注一下我的微博 weibo.com/eyo001 我们可以交流 如果按 MVC 的思想来的话 孩子 放 Model 里才是出路
页:
[1]