Maison >développement back-end >Problème PHP >Résoudre le problème de cette erreur en php

Résoudre le problème de cette erreur en php

hzc
hzcoriginal
2020-06-05 14:57:353049parcourir

Résoudre le problème de cette erreur en php

Lorsque j'ai appelé l'attribut, aucune erreur n'a été signalée dans php5, mais une erreur a été signalée dans php7. Le code est le suivant

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

Une autre classe

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

Le message d'erreur est le suivant :

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

La réponse a été résolue en utilisant une fonction variable quelque part. La solution est

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

De plus, tout le monde a dit que $this devrait être utilisé, au lieu de self, l'explication est la suivante :

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

Sur la base des points ci-dessus, il est possible d'utiliser this et self dans ce cas.

Tutoriel recommandé : "Tutoriel php"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn