我正在進行一個項目,我有一個名爲View::import
的方法。這會收到兩個參數string name, reference mixed value
(我寫得這樣更好理解,但是PHP!)。方法和參考溢出
目前,調用這個方法,我需要做的:
$test = 1;
View::import('test', $test);
作品很不錯,但我喜歡叫太:
View::import('test', 1);
對於靜態的情況下,我不要不需要替換原始的可變內容,只需要「即時存儲」。
完整的方法是:
private static $globals;
public static function import($key, &$value){
self::$globals->{$key} = &$value;
}
如果我更改爲:
public static function import($key, $value){ // no-reference
我不能改變原有的價值觀,在某些情況下。而且我不會製作像import_static
或類似的新方法。
存在一些溢出這種方法? (我知道PHP不完全支持這一點)。
最接近的代碼是:
View::import('test', $temporaryTest = 1);
但我認爲這是一個很大的workarround,不是?
你不能這樣做。或者引用或值,東西1.'$ temporaryTest = 1'將傳遞此賦值的結果(1),而不是引用。 – 2011-05-29 22:08:28
當然,會通過自己的'$ temporaryTest'(即等於'1')。這就是我目前的工作方式。 (在PHP 5.3中起作用,至少) – 2011-05-29 22:41:00