프로그래밍/PHP

[PHP] 경고 : Creating default object from empty value

채윤아빠 2019. 8. 28. 14:40
728x90
반응형



문제점 및 증상

다음과 같은 경고가 표시되었습니다.

Severity: Warning
Message:  Creating default object from empty value

원인 분석

오류가 나타난 부분의 소스는 다음과 같습니다.

    $subdomain_info = null;

    // ...

    if ($res) {
        $subdomain_info->site_no = $site_no;
        $subdomain_info->subdomain = $subdomain;
    }
    return $subdomain_info;

"subdomain_info" 변수를 "null"로 초기화한 상태에서, 객체 형식으로 값을 할당하여, 위와 같은 경고가 나타난 것입니다.

해결 방안

아래와 같이 객체 형식으로 값을 할당하기 전에, 실제 객체를 생성하여 주면 됩니다.

    $subdomain_info = null;

    // ...

    if ($res) {
        $subdomain_info = new \stdClass();
        $subdomain_info->site_no = $site_no;
        $subdomain_info->subdomain = $subdomain;
    }
    return $subdomain_info;

비슷한 오류 유형으로 "Warning: Attempt to assign property of non-object" 도 있는데, 다음과 같이 작성하면 경고가 나타납니다.

$res = 33;

// ...

$res->success = false;

다음과 같이 고치면, 경고가 나타나지 않습니다.

$res = 33;

// ...

$subdomain_info = new \stdClass();
$res->success = false;

참고자료