我根据属性的值调用了大量方法。我想知道是否有更正确的方法来做我正在做的事情?
我的代码现在:
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)();
我知道这不起作用,我只是不确定是否可以做得更好。甚至不确定搜索什么以查看类似的其他帖子。
答案 0 :(得分:1)
$method = 'Archive' . $qvalue->fid;
if (method_exists($this, $method))
{
$this->$method();
}