Heim >Backend-Entwicklung >PHP-Problem >Lösen Sie das Problem dieses Fehlers in PHP

Lösen Sie das Problem dieses Fehlers in PHP

hzc
hzcOriginal
2020-06-05 14:57:353044Durchsuche

Lösen Sie das Problem dieses Fehlers in PHP

Als ich das Attribut aufrief, wurde in PHP5 kein Fehler gemeldet, aber in PHP7 wurde ein Fehler gemeldet. Der Code lautet wie folgt:

<?php class test { protected $view; protected function testxxx() { $this->view = xxx; } }

Eine andere Klasse

<?php cless xxx extends test { public function xx() { self::testxxx() } }

Die Fehlermeldung lautet wie folgt:

[29-Dec-2017 23:21:45 Asia/Shanghai] PHP Fatal error: Uncaught Error: Using $this when not in object context in

Die Antwort wurde durch die Verwendung einer Variablenfunktion irgendwo verursacht. Die Lösung lautet

call_user_func([new xxx, &#39;函数名&#39;])

Außerdem. Alle sagten, dass $this anstelle von self verwendet werden sollte. Die Erklärung lautet wie folgt:

public: self::var 调用父类方法或者属性 parent::method 调用父类方法 实例中可以通过$this->var 调用public类型的方法或属性 protected: self::var 调用父类方法或者属性 parent::method 调用父类方法 实例中不可以通过$this->var 调用public类型的方法或属性 private: 只能在该类中使用

Basierend auf den oben genannten Punkten ist es in diesem Fall möglich, this und self zu verwenden.

Empfohlenes Tutorial: „PHP-Tutorial

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem dieses Fehlers in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn