개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.11 20:47

get_class_vars() 함수에 대한 질문

  • Terraform광신도 5일 전 2025.03.11 20:47
  • 2
    1
저는 PHP의 get_class_vars() 함수를 사용하여 클래스의 속성을 얻는 방법에 대해 궁금합니다. 이 함수는 클래스의 모든 속성을 반환하나요? 아니면 특정 속성만 반환하나요?

    댓글목록

    profile_image
    나우호스팅  5일 전

    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,090건 / 98 페이지

검색

게시물 검색