我想拥有在类(函数setFunction
)中设置函数的功能。稍后我想获得getFunction
可以从外部调用的函数(with)(指定参数等)。这是我尝试过的:
class Test
{
var $function;
function setFunction($foo)
{
$this->function = $foo;
}
function getFunction()
{
return $this->function;
}
function foo1($a)
{
print "foo1: ".$a."\n";
}
function foo2($b)
{
print "foo2: ".$b."\n";
}
}
$oClass = new Test();
$oClass->setFunction($oClass->foo1);
$oClass->getFunction()('test'); # <--- line 32
预期的输出是
foo1: test
但我得到一个错误:
PHP Parse error: syntax error, unexpected '(' in tester.php on line 32
任何想法如何解决这个问题?以下是一些限制条件:
- 这必须适用于每个函数的任意参数。
- 要定义的函数总是在类本身中指定(如果有帮助的话)。