"PHP 치명적 오류: 개체 컨텍스트에 없을 때 $this 사용" 해결
"치명적 오류: 다음 경우에 $this 사용 객체 컨텍스트에 없음"은 참조된 $this 키워드가 클래스 컨텍스트 외부에서 사용됨을 나타냅니다. 이를 더 잘 이해하기 위해 코드를 분석해 보겠습니다.
index.php에는 load.php 파일이 필요하며, 그 파일에는 class.php가 필요합니다. class.php 내에서 생성자의 $this->foo 할당으로 인해 오류가 발생합니다.
$this->foo = $foo; 현재 개체의 foo 속성에 액세스하려고 시도하지만 개체를 인스턴스화하지 않으면 참조할 $this가 없습니다. 따라서 이 줄은 객체 컨텍스트 외부에서는 유효하지 않습니다.
오류를 수정하려면 foobar 클래스의 객체를 인스턴스화하고 해당 객체에서 해당 메서드를 호출해야 합니다. 이는 다음 예를 통해 달성할 수 있습니다.
정적 메서드 호출:
foobafunc 메서드를 정적으로 선언하고 정적 변수 $foo를 정의하여 class.php를 수정하세요. . 이를 통해 객체를 인스턴스화하지 않고 메서드를 직접 호출할 수 있습니다.
객체 호출:
$foobar = new foobar를 사용하여 foobar 클래스의 객체를 인스턴스화합니다. 그런 다음 $foobar->foobafunc();을 사용하여 해당 객체에 대한 메서드를 호출합니다.
따라서 객체 컨텍스트 외부에서 $this를 사용하려고 하면 오류가 발생합니다. 이 문제를 해결하려면 $this 참조 없이 정적 메서드를 사용하거나 개체를 인스턴스화하고 해당 개체에 대한 메서드를 호출하세요.
위 내용은 'PHP 치명적인 오류: 개체 컨텍스트에 없을 때 $this 사용' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!