ホームページ  >  記事  >  バックエンド開発  >  phpでこのエラーの問題を解決してください

phpでこのエラーの問題を解決してください

hzc
hzcオリジナル
2020-06-05 14:57:352980ブラウズ

phpでこのエラーの問題を解決してください

属性を呼び出したところ、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

答えは解決されました。どこかで変数関数を使用したことが原因でした。解決策は

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

さらに、誰もが self の代わりに $this を使用するべきだと言いました。その説明は次のとおりです:

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

上記の点に基づいて、このインスタンスでは this と self を使用しても問題ありません。

推奨チュートリアル:「php チュートリアル

以上がphpでこのエラーの問題を解決してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。