タイトルほど単純ではありません!!
質問は:
PHPでクラスAはクラスBを継承する クラスA内のクラスBのクラス名を取得する方法
実際の使用条件は次のとおりです:
クラスBは基本クラスであり、複数のクラスA、C、D...はクラスBを継承する必要があります。クラスAの動作を記録するためにクラスBにログを書き込みたいです
タイトルほど単純ではありません!!
質問は:
PHPでクラスAはクラスBを継承する クラスA内のクラスBのクラス名を取得する方法
実際の使用条件は次のとおりです:
クラスBは基本クラスであり、複数のクラスA、C、D...はクラスBを継承する必要があります。クラスAの動作を記録するためにクラスBにログを書き込みたいです
私の方法は比較的単純で、クラス B に属性を定義し、B のコンストラクターでこの属性に __CLASS__ を割り当て、サブクラスでこの属性を呼び出して B のクラス名を確認します。
コード:
クラスB{
リーリー
関数を定義するだけです。
基本クラスとサブクラスは相互に呼び出すことができます。
リーリー
クラス A (基本クラス) で呼び出すことができます:リーリー
多重継承のある子クラスで親クラス名を取得したい場合は、 1. リフレクションを使用する 2. コールバックを使用する(子クラスと親クラス間の呼び出しを含む) 3. 親クラスにselfクラスのメソッドを定義する。
投稿者が提起した質問は次のとおりです:
A、C、D はすべて B を継承しますが、B の関数は「A か C か?」を知る必要があるためです。
リーリー
必要が A にある場合、誰が継承するかを知るために、リフレクションを使用できますリーリー
> 詳細については、ご自身の目で確認してください