【发布时间】:2016-10-13 18:46:51
【问题描述】:
关键是我有getDates() 方法,我想将此方法的名称作为字符串获取,但不运行此方法。实际上它看起来像下一个:
$object->getResultExecutionMethod(convertmMethodNameToString($object->findDates()));
getResultExecutionMethod($methodName) {
switch($methodName) {
case convertmMethodNameToString($this->findDates()):
return $getDatesStatus;
break;
case convertmMethodNameToString($this->anotherMethodOfThisClass()):
return $anotherMethodOfThisClassStatus;
break;
}
}
在 1 个类中,我有很多方法,以及很多符合此方法执行状态的变量。调用convertmMethodNameToString() 并将我的方法放在那里我想通过这种方法获取执行状态。
那么如何实现convertmMethodNameToString() 功能呢?
【问题讨论】:
-
您可以在上面的代码中将
convertmMethodNameToString($this->findDates()替换为"findDates",并将convertmMethodNameToString($this->anotherMethodOfThisClass())替换为"anotherMethodOfThisClass"。似乎根本不需要convertmMethodNameToString函数 -
@mario-chueca ,你的意思是这样用吗?
$methodName = "findDates()"; $object->methodName();如果是 - 我仍然依赖硬编码每个方法名称; -
我不确定我是否理解这个问题,但您也可以将
convertmMethodNameToString($object->findDates())替换为"findDates"。我完全不明白你为什么需要这种方法。也许这里缺少一些代码。