我正在进行一个项目,我有一个名为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