我怎么会做这样的事情:用PHP调用对象上的更改函数名称:如何?
class Test
{
public function test($methodName) {
$this->$methodName;
}
private function a() {
echo("a");
}
private function b() {
echo("b");
}
}
$testObj = new Test();
$testObj->test("a()");
$testObj->test("b()");
也许我应该只是传递一个参数“类型”和使用“IF语句”,但我只是好奇! :)
而如果“动态函数名称”有一个或多个参数呢?
更新:谢谢大家! :)
更新#2 - 答:
class Test
{
public function testOut($methodName) {
$this->$methodName();
}
private function a() {
echo("a");
}
private function b() {
echo("b");
}
}
$testObj = new Test();
$testObj->testOut("a");
$testObj->testOut("b");
与类的问题是,有一个名为“test”(同一个类名)方法......我改变了它它的工作。
其实它给了我一个错误: 方法名称必须是一个字符串.... :( – mrmuggles 2009-06-19 03:23:33
方法名是“构造”,因为它是相同的名称班,所以这就是为什么它没有工作,我认为。我用你的代码发布了一个更新,只改变了“testOut”的测试方法 – mrmuggles 2009-06-19 03:31:24
UR正确,自从我使用CPP,C#和其他OOP语言以来没有__construct – 2009-06-19 04:00:06