PHP尴尬的函数声明

可能重复:
用&符号启动PHP函数是什么意思?

最近我偶然发现了这段代码:

public static function &get_instance()
{
return self::$instance;
}

这种函数声明&get_instance()是什么意思? 函数名称是一个变量吗?


它是旧式代码中的单例模式的一部分。

Singleton是一种用于确保只有一个类的实例的模式。 (从技术上讲,它可以用来确保任何类的实例有一定数量,但是这个数字几乎总是一个。)这是四人帮模式之一,你可以找到关于它的使用和滥用的无尽讨论通过网络。


这意味着get_instance()的结果由引用返回。 由于PHP 5以后,对象总是被引用,所以编写这样的代码就没有意义了。 顺便说一句, public也特别好奇,因为这意味着这是PHP 5代码。

链接地址: http://www.djcxy.com/p/57243.html

上一篇: PHP awkward function declaration

下一篇: php function & symbol