PHP:检查整数是否在某个间隔内

前端之家收集整理的这篇文章主要介绍了PHP:检查整数是否在某个间隔内前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正致力于一个小型在线游戏的成就系统.成就实体基本上有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,0).

它工作得很好,我只是想问一下,如果PHP中有另一个内置函数正在做那件事,如果我正在做的事情是好的(关于良好的开发风格)

您应该考虑从Symfony2的 the validation component中为您的实体添加一些约束.
use Symfony\Component\Validator\Constraints as Assert;

class Achievement
{
   /**
    * @Assert\Range(min=0,max=100)
    */
    protected progress;
}

例如,验证表单时会自动调用验证器服务,但您甚至可以通过获取验证器服务(例如在控制器中)手动调用它.

$achievement = new Achievement();
$errors = $this->get('validator')->validate($achievement);

猜你在找的PHP相关文章