可能重複:
What does it mean to start a PHP function with an ampersand?PHP尷尬函數聲明
最近我偶然發現了這段代碼:
public static function &get_instance()
{
return self::$instance;
}
這是什麼樣的函數聲明&get_instance()
平均?函數名稱是一個變量嗎?
可能重複:
What does it mean to start a PHP function with an ampersand?PHP尷尬函數聲明
最近我偶然發現了這段代碼:
public static function &get_instance()
{
return self::$instance;
}
這是什麼樣的函數聲明&get_instance()
平均?函數名稱是一個變量嗎?
它是舊式代碼中的單例模式的一部分。
單身人士是一種模式,用於確保只有一個類的實例。 (從技術上講,它可以用來確保任何類的實例有一定數量,但是這個數字幾乎總是一個。)這是四人幫模式之一,你可以找到關於它的使用和濫用的無盡討論通過網絡。
這意味着get_instance()
的結果正在通過引用返回。由於PHP 5以後,對象總是被引用,所以編寫這樣的代碼就沒有意義了。順便說一句,public
也特別好奇,因爲這意味着這是PHP 5代碼。
這只是不好的和不贊成使用的代碼。 –
反正是什麼意思?及其兼容性? – gopi1410
@OZ_ btw,在探索'codeigniter'時發現它, – gopi1410