我目前正在为一个小型在线游戏开发成就系统。成就实体基本上有4个属性:
- ID
- 赚取的
- 赚到
- 进步
最后一个应该是百分比,意思是 0 到 100 之间的数字。为了确保没有大于 100 或小于 0 的数字保存在数据库中,我的 setter 方法如下所示(我正在使用Symfony2 / Doctrine ORM):
public function setProgress($progress)
{
$this->progress = max(min($progress, 100), 0);
return $this;
}
这里重要的一行是max(min($progress, 100), 0)
.
它工作得很好,我只是想问一下,PHP 中是否有另一个内置函数正在做这件事,以及我所做的是否可以(关于良好的开发风格)