小编fre*_*red的帖子

PHP多个if/elseif和错误消息/处理最佳实践

这是一个我经常遇到的问题,我从来没有找到/想出最佳实践情况.例外可能是要走的路,但是我正在使用的应用程序没有使用它们,所以我试图坚持使用当前使用的方法.

如果需要检查3,4,5或更多不同的条件并且设置了错误消息或处理继续,则在语句,返回,消息等中布置if的最佳方法是什么.最好的做法是在代码开头实际进行所有错误检查吗?

这是一个真实世界类型条件的例子.

function process($objectId,$userId,$newData)
{
    $error = '';
    if(($object = $this->getObject($objectId)) && $object->userOwnsObject($userId))
    {
        if($this->isValid($newData))
        {
            if($object->isWriteable())
            {
                if($object->write($newData))
                {
                    // No error. Success!
                }
                else
                {
                    $error = 'Unable to write object';
                }
            }
            else
            {
                $error = 'Object not writeable';
            }
        }
        else
        {
            $error = 'Data invalid';
        }
    }
    else
    {
        $error = 'Object invalid';
    }
    return $error;
}
Run Code Online (Sandbox Code Playgroud)

要么

function process($objectId,$userId,$newData)
{
    $error = '';
    if((!$object = $this->getObject($objectId)) && !$object->userOwnsObject($userId))
    {
        $error = 'Object invalid'; …
Run Code Online (Sandbox Code Playgroud)

php error-handling if-statement

4
推荐指数
1
解决办法
2513
查看次数

标签 统计

error-handling ×1

if-statement ×1

php ×1