1

在 Python 中,我可以在类实例方法中执行此操作:

esc = self.super_long_escape_function_name
print esc(param1) + ", " + esc(param2)

在 PHP 中,这是我能够编造的最接近的“等价物”:

$self = $this;
$esc = function($str) use($self) {
   return $self->super_long_escape_function_name($str);
};
echo $esc($param1) . ", " . $esc($param2);

我什至不会称其为等价物。我也试过这个没有成功:

$esc = '$this->super_long_escape_function_name';

有没有为类实例方法创建本地快捷方式的好方法?

4

2 回答 2

2

在问了这个问题之后,我发现这很有效:

$esc = array($this, "super_long_escape_function_name");
echo $esc($param1) . ", " . $esc($param2);

不过,这在 PHP 5.3 中不起作用,所以如果出现,我会接受更好的答案。

于 2013-05-27T06:50:01.910 回答
0

试试这个

$esc = array($this, "super_long_escape_function_name");
echo $esc($param1) . ", " . $esc($param2);
于 2013-05-27T06:51:04.710 回答