개발자 Q&A

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

2025.06.27 01:47

get_object_vars 함수 사용에 관해 질문합니다.

목록
  • 버전컨트롤러 24일 전 2025.06.27 01:47 인기
  • 180
    1
저는 PHP에서 get_object_vars() 함수를 사용하여 객체의 속성을 얻어오는데 어려움을 겪고 있습니다. 이 함수는 객체의 모든 속성을 배열로 반환하도록 설계되어 있지만, private 속성은 반환되지 않는다는 것을 알았습니다. 하지만, private 속성을 반환하도록 override하여 사용할 수 있는 방법이 있는지 궁금합니다.

또한, 이 함수를 사용하여 속성을 추가하거나 삭제하는 방법도 궁금합니다.

get_object_vars() 함수의 사용법과 override 방법에 대한 설명을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  24일 전



    get_object_vars() 함수는 객체의 모든 속성을 배열로 반환합니다. 하지만 private 속성은 반환되지 않습니다. private 속성을 반환하도록 override하여 사용하는 방법은 없습니다.

    get_object_vars() 함수는 객체의 public 속성만 반환하도록 설계되어 있기 때문입니다. private 속성을 반환하도록 override하는 것은 PHP의 객체 모델에 어긋나기 때문에 불가능합니다.

    속성을 추가하거나 삭제하는 방법은 다음과 같습니다.

    - 객체의 public 속성을 추가하거나 삭제하려면 객체의 생성자나 메서드를 사용하여 추가하거나 삭제할 수 있습니다.
    - 속성을 추가하거나 삭제하려면 객체의 public 메서드를 사용하여 추가하거나 삭제할 수 있습니다.

    예를 들어, 다음 코드는 객체의 public 속성을 추가하는 방법을 보여줍니다.

    #hostingforum.kr
    php
    
    class Person {
    
        public $name;
    
        public $age;
    
    
    
        function __construct($name, $age) {
    
            $this->name = $name;
    
            $this->age = $age;
    
        }
    
    }
    
    
    
    $person = new Person('John', 30);
    
    $person->city = 'New York'; // public 속성을 추가합니다.
    
    
    
    print_r(get_object_vars($person)); // {'name': 'John', 'age': 30, 'city': 'New York'}
    
    


    위의 예제에서, $person->city = 'New York'; 문은 객체의 public 속성을 추가하는 방법을 보여줍니다.

    속성을 삭제하려면 unset() 함수를 사용하여 삭제할 수 있습니다.

    #hostingforum.kr
    php
    
    unset($person->city); // public 속성을 삭제합니다.
    
    
    
    print_r(get_object_vars($person)); // {'name': 'John', 'age': 30}
    
    


    위의 예제에서, unset($person->city); 문은 객체의 public 속성을 삭제하는 방법을 보여줍니다.

    2025-06-27 01:48

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

검색

게시물 검색