2016-04-05 3 views
2

私は、クラスプロパティのクラスを取得しようとしている、phpを試していました。クラスプロパティのクラスをPHPで取得する方法

class A{ 
    public $a; 
} 

class B extends A{ 
    public $b; 
} 

class C extends B{ 
    public $c; 
} 

$c = new C(); 

echo get_class($c); // C 

echo get_class($c->a); // false 
echo get_class($c->b); // false 
echo get_class($c->c); // false 

私は$ Cのから "C" を得ることができますget_classメソッドを使用して
が、プロパティ$ C->と、$ C-> B、$ C-> cこの関数は "false"を返します。


質問

にはどうすればいいのプロパティが属するクラスを得ることができますか? ..like:

echo foo($c->a); // A 
echo foo($c->b); // B 
echo foo($c->c); // C 

は可能ですか?

+0

@PaulCrovellaはい!それは私が達成しようとしていたことをします、ありがとう – Saba

答えて

1

get_class() to get current class nameget_parent_class() to get parent or extended class

echo get_class($c); 
$b = get_parent_class($c);//this will get extended class B 
echo $b; 
echo get_parent_class(new $b());//$b="B" then we call new B class to get parent class 'A' 
関連する問題