在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';
是否有任何好的方法来创建一个类实例方法的本地快捷方式?
就在问完这个问题之后,我发现这是有效的:
$esc = array($this, "super_long_escape_function_name");
echo $esc($param1) . ", " . $esc($param2);
这在PHP 5.3中不起作用,所以如果有更好的答案,我将接受。
试试这个
$esc = array($this, "super_long_escape_function_name");
echo $esc($param1) . ", " . $esc($param2);