我有一个大的方法列表,我根据属性的值调用。我想知道是否有更正确的方法来做我在做什么?
我的代码立即:
if ($qvalue->fid == 1) { $this->Archive1(); }
if ($qvalue->fid == 2) { $this->Archive2(); }
if ($qvalue->fid == 3) { $this->Archive3(); }
if ($qvalue->fid == 4) { $this->Archive4(); }
if ($qvalue->fid == 5) { $this->Archive5(); }
if ($qvalue->fid == 6) { $this->Archive6(); }
if ($qvalue->fid == 7) { $this->Archive7(); }
if ($qvalue->fid == 8) { $this->Archive8(); }
if ($qvalue->fid == 9) { $this->Archive9(); }
if ($qvalue->fid == 10) { $this->Archive10(); }
...
我可以做这样的事情:
$this->Archive($qvalue->fid)();
我知道这是行不通的,我只是不确定是否可以做得更好。甚至不确定要搜索其他帖子类似的其他帖子。
$method = 'Archive' . $qvalue->fid;
if (method_exists($this, $method))
{
$this->$method();
}