PHP笨拙的函数声明

3

可能是重复问题:
以 & 符号开始 PHP 函数是什么意思?

最近我遇到了这段代码:

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

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

5
这只是糟糕且已经过时的代码。 - OZ_
无论如何,它是什么意思?还有它的兼容性? - gopi1410
@OZ_ 顺便说一下,我在探索 codeigniter 的时候找到了它。 - gopi1410
3
通过引用传递结果已被弃用。 - OZ_
1
@gopi1410:简单来说,Singleton 是强制让一个对象只能存在一个实例,并且该实例将在整个应用程序中全局可用。这种方法具有多重缺点和少量优势,被认为是有害的。 - Madara's Ghost
显示剩余6条评论
2个回答

4

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

单例模式用于确保一个类只有一个实例。(在技术上,它可以用来确保任何类有一定数量的实例,但这个数量几乎总是一个。) 它是四人帮模式之一,您可以在整个网络上找到无休止的关于它的使用和滥用的讨论。


嗯,但是什么是单例模式呢? - gopi1410
请查看单例模式 - Brad Koch

3
这意味着get_instance()的结果是通过引用返回的。自从PHP 5以来,对象始终是通过引用传递的,因此不再有必要编写这样的代码。顺便说一下,public也特别奇怪,因为这意味着这是PHP 5代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接