是否有可能做这样的事情:
Class::function('some_text') = 'aaaaa';
并在 Class::function() 中获取这个 'aaaaa' 字符串?
是的,通过这样做:
MyClass::func('some_text', 'aaaaa');
例如
class MyClass {
public static function func($text, $aaa) {
...
}
}
或者(比以前的恕我直言更糟糕):
global $foo;
$foo = 'bar';
class Baz {
public static function bong() {
global $foo;
...
}
}
该语法在 PHP 中不可用。
在 Perl 中,这种类型的函数称为LVALUE function
.
就您的情况而言,您似乎正在寻找这样的解决方案?
Session::Set(array("key" => "value"));
class Session {
public static function Set($kvp) {
foreach ($kvp as $key => $value) {
echo $key . " is " . $value . "<br />";
}
}
}
您可以返回一个引用并更改它的值。
class MyClass {
private static $variable;
public static function &func($random_param) {
return self::$variable;
}
}
像这样称呼它
$reference = &MyClass::func('asd');
$reference = "15";
echo MyClass::func('asdasd'); // "15"