当前位置: 代码迷 >> PHP >> 这句话什么意思?劳驾详解
  详细解决方案

这句话什么意思?劳驾详解

热度:109   发布时间:2013-07-01 12:33:04.0
这句话什么意思?麻烦详解
$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')变化之前的值
------解决方案--------------------
$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 类的实例
从书写格式上看,这应该是单例模式的
  相关解决方案