ホームページ >バックエンド開発 >PHPチュートリアル >PHP クラスで動的メソッドと静的メソッドを呼び出す方法について疑問があります。モデレーターにアドバイスをいただければ幸いです。

PHP クラスで動的メソッドと静的メソッドを呼び出す方法について疑問があります。モデレーターにアドバイスをいただければ幸いです。

WBOY
WBOYオリジナル
2016-06-23 13:52:031111ブラウズ

rreee
先ほどのモデレーターの説明によると、現在の効果を実現するために少し修正したとのことですが、私もいじってみたので具体的な原理が理解できていないため、少し不明確です
まず、クラス内の find メソッドA、self を使用する代わりに $this ポインターを使用して記述したままにしたいです
以下の 2 つの呼び出しメソッドと同じように
最初のメソッドは動的に find メソッドを呼び出します。明らかに、出力は OK です
2 番目の B は静的クラスです。最初に静的メソッドを呼び出します。返されるのは「静的にインスタンス化されたオブジェクト」ですか?
次に、find メソッドを呼び出します。$this ポインタが変更されたかどうかはわかりません。
私が書いた目的は、外部コードがクラス A のメソッドを動的に呼び出したり、静的に呼び出したりできるようにすることです。
ちょっと混乱していてめちゃくちゃです
モデレーターは動作原理を理解できますか?


ディスカッションへの返信 (解決策)

$b=new B() の下に
$b->db = 2;

という文を追加すると、次のようになります。 2つのシステムが含まれています

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