でそれらを取得することができませんさて、あなたはおそらく、あなたの希望する結果を得るために一つの追加方法とReflection
クラスに必要になります。追加props()
方法と
class Person {
public $id;
public $firstName;
public $lastName;
}
そしてStudent
クラス:
はここで触れられていない、あなたのPerson
クラスです
class Student extends Person {
public $grade, $age;
function props(){
$class = new ReflectionClass($this);
$class = $class->getParentClass();
$props = $class->getProperties();
$original = array_map(function($e){
return $e->name;
}, $props);
$original = array_flip($original);
return array_diff(array_keys(get_class_vars(__CLASS__)), array_keys($original));
}
}
今props()
方法が唯一の子クラスで宣言されたプロパティが含まれます。
var_export((new Student)->props()); // array (0 => 'grade', 1 => 'age',)
あなたはこれを達成するために何をしようとしていますか? – gvlasov
@gvlasov CRUDクエリをビルドするDBクラスがあり、オブジェクト変数はデータベースの列です。生徒はDBの別のテーブルに多くのプロパティを持ちます。 –