这句话什么意思?麻烦详解

原创
2016-06-23 14:11:29 899浏览

$mainframe =& JFactory::getApplication('administrator');


回复讨论(解决方案)

引用对象JFactory中的getApplication函数,传入参数为administrator

$mainframe =& JFactory::getApplication('administrator');
调用类JFactory中的静态方法getApplication
至于那个引用符号&是表示JFactory::getApplication('administrator');的值与$mainframe是同一内存地址

通俗一点讲。。
假如此php语句后JFactory::getApplication('administrator')的值发生了变化。
$mainframe也发生变化。
如果不用这个引用符号,$mainframe的值就还是JFactory::getApplication('administrator')变化之前的值

看看PHP手册的函数部分就知道了。

$mainframe =& JFactory::getApplication('administrator');
应写作
$mainframe = JFactory::getApplication('administrator');

php5 的对象都是以引用传递的,不需要用 & 声明为传引用
如果写了将引发一个 Strict Standards: Only variables should be assigned by reference 警告

JFactory 是一个类,getApplication 是 JFactory 类的一个静态方法
JFactory::getApplication('administrator') 将返回一个 administrator 类的实例
从书写格式上看,这应该是单例模式的

工厂模式

joomla 里面的东西吧?

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。