PHP 치명적인 오류: 개체 컨텍스트에 없을 때 $this 사용
문제:
PHP 클래스의 비정적 메서드 내에서 $this 변수에 액세스하려고 하면 다음 오류가 발생합니다. "객체 컨텍스트가 아닌 경우 $this를 사용합니다."
답변:
이 오류는 객체 인스턴스 외부에서 $this 변수에 액세스하려고 할 때 발생합니다. $this 변수는 현재 개체를 참조하며 인스턴스화된 개체의 컨텍스트 내에서만 사용할 수 있습니다.
해결책:
이 오류를 해결하려면 다음 개체를 인스턴스화하세요. 클래스를 사용하고 객체 인스턴스를 통해 메서드에 액세스합니다. 예:
$object = new MyClass(); $object->myMethod();
또는 메소드가 정적인 경우 객체를 인스턴스화하지 않고 클래스 이름을 사용하여 직접 액세스할 수 있습니다.
MyClass::staticMethod();
예:
class.php 파일에서 foobafunc() 메소드가 다음과 같이 정의되지 않았는지 확인하세요. 정적 방법. 정적이 아닌 경우 메소드에 액세스하기 전에 foobar 클래스의 객체를 인스턴스화해야 합니다.
$foobar = new foobar(); $foobar->foobarfunc();
정적 메소드를 생성하려면 해당 메소드가 static으로 선언되고 $ foo 변수가 정적으로 선언되었습니다:
class foobar { public static $foo; public static function foobarfunc() { return self::$foo; } } foobar::foobarfunc();
위 내용은 '개체 컨텍스트에 없을 때 $this 사용' PHP 치명적인 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!