1

新しいオブジェクトを作成するクラスの名前を出力しようとしました。私はこのコードを得ました:

class Class_A
{
  public function __construct()
  {
    echo "new ".__class__." : are created"."<br />";
  }
}
class B extends Class_A
{

}
class C extends Class_A
{

}
$NewObject1= new B ( );
$NewObject2= new C ( );

出力は次のとおりです。

new Class_A : are created
new Class_A : are created

なぜnew B : are created new C : are createdですか?

私も試してみましたが、うまくいきgetParentClass()ませんありがとう!

4

3 に答える 3

3

この場合、あなたは書くべきです

echo "new ".get_called_class()." : are created"."<br />";

http://www.php.net/manual/en/function.get-called-class.phpをご覧ください。

于 2012-05-07T11:37:10.423 に答える
3

PHP >= 5.3.0 の場合は、

get_called_class()

それ以外の場合は、使用

get_class($this)

あなたの質問の文脈で。

于 2012-05-07T11:39:29.150 に答える
1

__class__コードに配置するポイント

get_class($this)代わりに使用

于 2012-05-07T11:37:58.207 に答える