0
我想知道是否有方法在PHP中知道一個正在調用的函數是否會將某些內容返回給變量(或不)。有沒有辦法知道函數是否返回到PHP中的變量?
例如,有沒有辦法知道什麼時候發生這種情況:
$foo = bar();
//是的,它會返回一個變量bar();
//沒有,也不會恢復到一個變量
這將會是最好的,如果有知道的吧()函數中的一種方式。如果沒有這樣的存在 - 是否有可能實現?
我目前沒有需要做到這一點,但一個簡單的使用情況是:
class Model() {
private $foo = 0;
function bar() {
$foo += 100;
if(returnsToVariable) // <====
return $foo;
}
}
因此,它可以被用來獲得的$ foo的立即值(和是的,我知道我可以/ haveto使用setter,這只是一個說明性的例子)。
在此先感謝。
我不明白這對於什麼有用。無論您的示例中的「bar」方法是否返回任何內容,都不會影響該方法內部的其他內容。不,沒有簡單的方法來確定這一點。函數/方法不會「返回到變量」,只是在不知道周圍腳本的任何內容的情況下被調用。然而你可以傳遞一個參數來告訴函數是否應該返回一些東西。 – CBroe 2014-10-17 11:25:23
功能不應該擔心外面會發生什麼。如果它沒有被釘死或在任何地方沒有被使用過,那麼你總能返回價值。 – Gustek 2014-10-17 11:25:42
用例無效。從字面上來說,從來沒有一個用例用於你所提到的。正如其他人所說,函數並不關心它是否「返回到變量」。函數完成它的工作並返回,這是可選的。就這樣。作爲一名渴望的開發人員,您可以做的是在函數調用周圍創建一個包裝,並確保結果始終存儲在一個變量中。 – 2014-10-17 11:33:13