将一个函数的内容复制到另一个函数中


Copy a function's content into an other

我想插入以下代码:

if ($this->id == null) {
  return false;
}

在一个类的几个方法中。我可以用include("mycode.php')来做这件事,但是它很丑。

是否有一种方法可以调用函数(因此它将在更高的范围内返回false) ?

这看起来像是DRY的一个实例走得太远了

它只有三行-节省的代码量是最小的。

从维护的角度来看,这三行对于理解函数的作用是至关重要的。
将流控制的这一部分移动到include中是一个糟糕的主意。

您可以将这些类一个接一个地继承,或者重新设计整个类系统以减少这些愚蠢的代码的重复,或者复制/粘贴它。我相信后一种选择比纠结这个问题花费的时间要少。

为什么不把它变成一个函数呢?

function isNull($object) {
  if ($object->id == null)
      return false;
}

然后直接写

if (isNull($this))
  return false;

为你节省一行,这取决于你是否值得。