0

是否有可能做这样的事情:

Class::function('some_text') = 'aaaaa';

并在 Class::function() 中获取这个 'aaaaa' 字符串?

4

4 回答 4

1

是的,通过这样做:

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;
        ...
    }
}
于 2012-10-10T10:57:20.913 回答
1

该语法在 PHP 中不可用。

在 Perl 中,这种类型的函数称为LVALUE function.

于 2012-10-10T10:58:50.600 回答
1

就您的情况而言,您似乎正在寻找这样的解决方案?

Session::Set(array("key" => "value"));

class Session {
    public static function Set($kvp) {
        foreach ($kvp as $key => $value) {
            echo $key . " is " . $value . "<br />";
        }
    }
}
于 2012-10-10T11:00:02.723 回答
0

您可以返回一个引用并更改它的值。

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"
于 2012-10-10T10:57:55.363 回答