解释$ CI =&get_instance();
查看codeigniter的源代码,
在其辅助函数中,我一直看到代码 $CI =& get_instance();
,任何人都可以向我解释该代码的工作原理吗?
我知道它正在返回对$ CI超级对象的引用,但是它get_instance()
来自哪里呢?
回答:
它基本上是一个Singleton设计模式,它使用函数而不是静态方法。
要深入了解,请查看源代码
因此,基本上,它不强制执行单例,但这是公共函数的捷径…
其实,现在我明白了。为了与PHP4兼容,他们必须进行双重全局变量破解才能使其正确返回引用。否则,引用将被搞砸。而且由于PHP4不支持静态方法(无论如何,还是正确的),所以使用函数是更好的方法。因此由于遗留原因它仍然存在…
因此,如果您的应用程序仅是PHP5,则 应该 没有错CI_Base::get_instance();
,这是相同的…
以上是 解释$ CI =&get_instance(); 的全部内容, 来源链接: utcz.com/qa/411219.html