Unable to locate the specified class: Session.php
报以上错误,stackOverflow上有这个问题,他被引用的controller 改为extends CI_Model就行了,但我是本来就要include controller的,没法那么做,请问怎么解决这个问题?
引用和被引用的controller之间,任意一个写上以下代码就不会报错,但只要把调用父类的构造函数那行解除注释,又会报错,这到底是为什么???
function __construct(){
//parent::__construct();
}
引用controller是因为,这个controller里面写了我要用的方法,不想再在其它地方写一遍,就干脆直接引用了。
写了的方法是调用微信登录,因为微信登录是跳到微信,然后再跳回来的,所有肯定要有个接口接收跳回来的数据,所以肯定要写一个控制器,然后内部调用这个微信登录的时候,就不想另外写了,直接调用这个控制器
CI啊,我的菜。
楼主说写了微信的方法,要在不同的控制器调用这个方法,可以直接写在
\application\libraries
里,然后调用的时候,直接一个$this->load->libries('')
就好了。或者楼主可以直接写一个全局的方法,项目中的任何位置可以用方法名随时随地直接调用,这个方法可以放在
system\core\common.php
中,也可以写在自动加载的辅助函数里helpers
等要说的就是楼主应该知道MVC的结构,三个不同的层作为独立的存在,想当年我也是和你一样的想法,问了一下大神,结果迎来劈头盖脸一顿骂:每一个控制器都有自己独立的作用,如果控制器和控制器间能够互相调用,那不就乱了套了,违背了MVC的设计原则。所以如楼上所说,遇到重复的方法就封装起来吧,哪怕封装在公共的控制器中,用
$this->
直接调用也好啊