関数・クラス解説

get_class

version:PHP 4, PHP 5, PHP 7 (公式)

オブジェクトのクラス名を返す

公式リファレンス

書式

get_class ([ object $object ] ) : string

説明

指定した object のクラス名を取得します。

パラメータ

object
調べるオブジェクト。クラスの内部ではこのパラメータを省略することもできます。
注意: object に明示的に NULL を渡すことは、 PHP 7.2.0 以降許されなくなりました。 このパラメータは未だオプションです。 get_class() 関数を クラスの内部からパラメータなしに呼び出しても動作します。 しかし、NULL を渡してしまうと E_WARNING レベルの警告が発生します。

返値

オブジェクト object がインスタンス であるクラスの名前を返します。object がオブジェクトでない場合にはFALSEが返されます。 クラスの内部で object を省略すると、 そのクラスの名前を返します。 object が 名前空間の中に存在しているクラスのインスタンスだった場合、 名前空間で修飾されたクラス名が返されます。

エラー

オブジェクト以外に対して get_class() をコールすると、 E_WARNING レベルのエラーが発生します。

更新履歴

バージョン 説明
7.2.0 NULL は、object のデフォルトのパラメータとして 扱われなくなり、 正しい入力ではなくなりました。 これより前のバージョンでは、object のデフォルトのパラメータは NULL であり、何も値を渡さないのと同じ意味でした。

サンプル

例1 get_class() の使用例

class foo {     function name()     {         echo "My name is " , get_class($this) , "\n";     } } // オブジェクトを生成 $bar = new foo(); // 外部からコール echo "Its name is " , get_class($bar) , "\n"; // 内部からコール $bar->name();

上の例の出力は以下となります。

Its name is foo My name is foo

例2 get_class() のスーパークラスでの使用例

abstract class bar {     public function __construct()     {         var_dump(get_class($this));         var_dump(get_class());     } } class foo extends bar { } new foo;

上の例の出力は以下となります。

string(3) "foo" string(3) "bar"

例3 名前空間の中にあるクラスを get_class() で使う

namespace Foo\Bar; class Baz {     public function __construct()     {     } } $baz = new \Foo\Bar\Baz; var_dump(get_class($baz));

上の例の出力は以下となります。

string(11) "Foo\Bar\Baz"

参考

  • get_called_class() - "静的遅延束縛" のクラス名
  • get_parent_class() - オブジェクトの親クラスの名前を取得する
  • gettype() - 変数の型を取得する
  • is_subclass_of() - あるオブジェクトが指定したクラスのサブクラスに属するか (あるいは指定したインターフェイスを実装しているか) どうかを調べる
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール