我正在使用 Laravel 框架构建我的第一个 Web 应用程序。然而,模型开始变得非常忙碌,我注意到重复的代码——尤其是在函数中。
我的编码经验非常有限,所以我对在函数内部进行重构和将函数拆分成一小段代码很有信心,这只有一项任务。
但是...我想知道是否有任何方法可以轻松地重用函数中的代码?
我附上了一个我想重构的代码示例 - 这是一个小例子,因为我有一些模型,这些类型的重复发生 4-5 次,现在很难阅读。
如您所见,这两个函数之间的唯一区别是它们名称中的 IsPast / IsFuture 文本和 $date 上的调用。
谁能推荐我如何重构这段代码?
public function getIsPastAttribute(): bool
{
return $this->date_period->map(static function ($date) {
/** @var Carbon $date */
return $date->isPast();
})->contains(false) === false;
}
public function getIsFutureAttribute(): bool
{
return $this->date_period->map(static function ($date) {
/** @var Carbon $date */
return $date->isFuture();
})->contains(false) === false;
}
largeQ
月关宝盒
呼唤远方