使用$CI和使用$this什么差别?
使用$CI和使用$this什么差别?看来一段时间的代码,发现两种都有人用,似乎使用$CI并不在文档推荐的方法nei
说一下我的理解,如有错误的地方,请指正。
对于CI框架来说,$CI是个超级对象,一次运行中的所有操作都是在这个对象上,也就是入口控制器的对象。$this的话是指当前类的一个对象,之所以题主会有这样的疑问,是因为在CI的Model中,有个魔术方法__get(),所以在你使用$this访问无法访问的属性时,会把$this转为$CI,这样看来两者似乎没什么区别,但关键在于,如果你访问的属性在类内($this)中存在,也在$CI中存在,那么你访问到的是类内的属性。
所以,我觉得可以看成$this是$CI的一个子对象,这就它两的差别,但至于推荐,我是觉得能用$this的就不要用$CI 要我说 $this是一种存在超级对象至于$CI嘛如果你不想用$this或者在controller外的地方用$this的话你得先实例化$this比如:$CI =& get_instance();
页:
[1]