속성을 호출했을 때 php5에서는 오류가 보고되지 않았으나 php7에서는 오류가 보고되었습니다. 코드는 다음과 같습니다
<?php class test { protected $view; protected function testxxx() { $this->view = xxx; } }
Another class
<?php cless xxx extends test { public function xx() { self::testxxx() } }
오류 메시지는 다음과 같습니다.
[29-Dec-2017 23:21:45 Asia/Shanghai] PHP Fatal error: Uncaught Error: Using $this when not in object context in
The 답변은 해결되었습니다. 네 어디선가 변수함수를 사용해서 해결이 되었습니다
call_user_func([new xxx, '函数名'])
게다가 모두가 self 대신 $this를 사용해야 한다고 했던 문제에 대해 설명은 다음과 같습니다.
public: self::var 调用父类方法或者属性 parent::method 调用父类方法 实例中可以通过$this->var 调用public类型的方法或属性 protected: self::var 调用父类方法或者属性 parent::method 调用父类方法 实例中不可以通过$this->var 调用public类型的方法或属性 private: 只能在该类中使用
Based 위의 사항에 대해서는 this와 self를 사용하여 이 경우 모두 가능합니다.
추천 튜토리얼: "php 튜토리얼"
위 내용은 PHP에서 이 오류 문제를 해결하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!