php : get_calss,is_instance_of ,… タイプ関連

hdknr@debiansept:~$ more test.php
<?php

class Hoge
{
        function Hoge()
        {
                $this->name="hoge";
        }
}

class Hage
{
        function Hage()
        {
                $this->name="hage";
        }
}

class Boke extends Hoge
{
        function Boke()
        {
                $this->name="boke";
        }

}
$v = Array(new Hoge(),new Hage(),new Boke());
foreach( $v as $x )
{
        echo "--------------------------------------\n";
        var_dump($x);
        $b=( $x instanceof Hoge );
        echo get_class($x),":instance of Hoge ?  ";
        var_dump($b);
        $b=is_subclass_of($x,'Hoge');
        var_dump($b);

}

hdknr@debiansept:~$ php test.php
————————————–
object(Hoge)#1 (1) {
  ["name"]=>
  string(4) "hoge"
}
Hoge:instance of Hoge ?  bool(true)
bool(false)
————————————–
object(Hage)#2 (1) {
  ["name"]=>
  string(4) "hage"
}
Hage:instance of Hoge ?  bool(false)
bool(false)
————————————–
object(Boke)#3 (1) {
  ["name"]=>
  string(4) "boke"
}
Boke:instance of Hoge ?  bool(true)
bool(true)

 

hdknr’s PHP and Type Bookmarks on Delicious

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中