インスタンスの静的クラス内のインスタンスのプライベートメソッドに呼び出しは以下の通りです:PHP:私は何をしようとしている
class A {
public function __construct($a) {
// stuff here
}
public static function request() {
$instance = new self("hi");
$instance->bye(); // this weirdly only sometimes throws errors
}
private function bye() {
// stuff here
}
}
A::request();
関心のラインが$instance->bye()
である - これはAの静的コンテキスト内で許可されていますインスタンスで呼び出され、コンストラクタと同じクラスの内部にある場合それとも、これは一般的に良い習慣ではないのですか?これは、文脈のないプライベートメソッドを呼び出しているときにだけエラーをスローするのは奇妙です。
http://php.net/manual/en/language.oop5.visibility .php#la nguage.oop5.visibility-other-objects – Federkun
エラーを再現できません。あなたはどのPHPのバージョンを使用していますか? – wogsland
@wogslandはコメントを投稿しました - 明らかに、PHPStormのデバッグによるものでした – Sasha