PHP의 "빈 값에서 기본 객체 생성" 오류는 설정되지 않은 것처럼 보이는 속성에 액세스할 때 종종 나타납니다. 변하기 쉬운. 이 오류는 버전 5.4 이상에서 PHP의 엄격한 오류 처리로 인해 발생합니다.
이 오류는 PHP가 아직 객체가 아니거나 명시적으로 NULL로 설정된 변수에 대한 기본 객체를 초기화하려고 할 때 발생합니다. 예:
$res = NULL; $res->success = false;
PHP 5.3 이하에서는 이 코드가 오류를 생성하지 않습니다. 그러나 PHP 버전 5.4 이상에서는 E_STRICT 경고(또는 error_reporting이 이 수준 이상으로 설정된 경우 E_WARNING)가 활성화되어 "빈 값에서 기본 객체 생성" 오류가 발생합니다.
그렇습니다. $res를 먼저 선언해야 합니까?
아니요, $res를 객체로 선언합니다. 필요하지 않습니다. 그러나 해당 속성에 액세스하기 전에 $res가 개체인지 확인해야 합니다. 이렇게 하려면 이를 특정 클래스의 객체로 초기화하거나 일반 stdClass 객체를 사용할 수 있습니다.
// Initialize as a specific class $res = new MyClassName(); // Initialize as a generic object $res = new \stdClass();
$res가 객체이면 " 빈 값에서 기본 개체 생성' 오류가 발생했습니다.
$res->success = false; // No error
위 내용은 PHP에서 '빈 값에서 기본 객체 생성' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!