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

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

hzc
リリース: 2023-03-01 12:22:02
オリジナル
3047 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート