1. ホーム
  2. php

[解決済み] PHPでクラス名を取得する方法は?

2022-02-09 18:27:37

質問

public class MyClass {

}

Java では、クラス名を取得するために String className = MyClass.class.getSimpleName();

PHPでこれを行うにはどうしたらよいでしょうか?私はすでに知っている get_class() しかし、それはオブジェクトに対してのみ機能します。現在、私はActive Recordで作業しています。私は次のようなステートメントが必要です MyClass::className .

解決方法は?

PHP 5.5以降 を使用すると、クラス名の解決に クラス名::クラス .

参照 PHP5.5の新機能 .

<?php

namespace Name\Space;

class ClassName {}

echo ClassName::class;

?>

この機能をクラスメソッドで使用する場合は 静的::クラス :

<?php

namespace Name\Space;

class ClassName {
   /**
    * @return string
    */
   public function getNameOfClass()
   {
      return static::class;
   }
}

$obj = new ClassName();
echo $obj->getNameOfClass();

?>

古いバージョンのPHPの場合 を使用することができます。 get_class() .