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

Mary-Kate Olsen
リリース: 2024-10-19 21:17:01
オリジナル
560 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート