ホームページ  >  記事  >  バックエンド開発  >  PHP (PHP 5.5 以降) でクラス名を取得する方法は?

PHP (PHP 5.5 以降) でクラス名を取得する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-19 21:17:01466ブラウズ

How to Get Class Name in PHP (PHP 5.5 and Later)?

PHP でのクラス名の取得

PHP 環境では、さまざまな方法を使用してクラスの名前を取得できます。一般的なアプローチの 1 つは、get_class() 関数を使用することです。ただし、get_class() はクラス名ではなくオブジェクトにのみ適用できることに注意することが重要です。

たとえば、次のように定義されたクラスがあるとします。

public class MyClass {
}

Java では、 String className = MyClass.class.getSimpleName(); を使用してクラス名を取得できます。 PHP で同じことを実現するにはどうすればよいですか?

クラス名解決の使用 (PHP 5.5 以降)

PHP 5.5 では、クラス名解決と呼ばれる機能が導入されました。クラス名を直接取得します。これは、次の構文を使用して実行できます: ClassName::class.

例:

<code class="php">namespace Name\Space;

class ClassName {}

echo ClassName::class;</code>

このコードは、文字列 "ClassName" を出力します。

必要な場合クラス メソッド内でこの機能を使用するには、static::class を使用できます。

<code class="php">namespace Name\Space;

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

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

get_class() の使用 (5.5 より前の PHP バージョン)

PHP バージョン 5.5 より前の場合、get_class() 関数を使用してクラス名を取得できます。ただし、この関数はクラス名ではなくオブジェクトに対して動作することに注意することが重要です。

たとえば、「ClassName」クラスのインスタンスがある場合、

<code class="php">$obj = new ClassName();</code>

次のことができます。次を使用してクラス名を取得します:

<code class="php">echo get_class($obj);</code>

このコードは文字列「ClassName」を出力します。

以上がPHP (PHP 5.5 以降) でクラス名を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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