
PHP의 get_class_vars() 함수는 클래스의 모든 속성을 반환합니다. 하지만, 이 함수는 클래스의 속성만 반환하고, 메서드나 상속된 속성은 반환하지 않습니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
class Person {
public $name;
public $age;
function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
class Student extends Person {
public $grade;
function __construct($name, $age, $grade) {
parent::__construct($name, $age);
$this->grade = $grade;
}
}
$person = new Person('John', 30);
$student = new Student('Jane', 20, 'A');
print_r(get_class_vars('Person'));
print_r(get_class_vars('Student'));
이 코드를 실행하면, Person 클래스의 속성과 Student 클래스의 속성이 반환됩니다. 하지만, 메서드나 상속된 속성은 반환되지 않습니다.
만약, 특정 속성만 반환하고 싶다면, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
class Person {
public $name;
public $age;
function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$person = new Person('John', 30);
print_r(get_object_vars($person));
이 코드를 실행하면, Person 클래스의 속성인 $name과 $age만 반환됩니다.
따라서, get_class_vars() 함수는 클래스의 모든 속성을 반환하지만, 메서드나 상속된 속성은 반환하지 않습니다. 만약, 특정 속성만 반환하고 싶다면, get_object_vars() 함수를 사용할 수 있습니다.
2025-03-11 20:48