【发布时间】:2013-04-01 10:24:55
【问题描述】:
我目前正在为一款小型在线游戏开发成就系统。成就实体基本有4个属性:
- 身份证
- 获得者
- 赚了
- 进展
最后一个应该是百分比,意思是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 中是否有另一个内置函数可以做这件事,以及我所做的是否可以(关于良好的开发风格)
【问题讨论】:
-
我不认为有任何这样的内置功能可以满足您的需要,而且您目前正在做的事情非常好..
-
看起来不错。我可能会将它分成两行而不是嵌套它以使 max() min() 函数调用更具可读性。
-
@tereško,上下文很重要。鉴于他使用的是 Symfony2 框架,可能有更适合他的问题的解决方案。
-
@Gerry,不,它没有。
标签: php symfony attributes doctrine