개발자 Q&A

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

2025.06.04 18:15

Yaf_View_Simple::__get() 관련 질문

목록
  • 자바스크립트귀신 오래 전 2025.06.04 18:15
  • 43
    1
제가 학습 중인 PHP 프레임워크인 Yaf에서 View_Simple 클래스의 __get() 메서드에 대해 질문을 드립니다.

__get() 메서드는 객체의 속성을 동적으로 조회하는 메서드입니다. 그러나 Yaf_View_Simple 클래스에서 __get() 메서드를 오버라이딩 한 경우, 해당 메서드의 동작 방식에 대해 이해하기가 어렵습니다.

__get() 메서드가 호출될 때, 객체의 속성이 없을 경우, 에러가 발생하나요? 아니면, 특정한 값을 반환하나요?

그리고 __get() 메서드를 오버라이딩 한 경우, 호출하는 코드가 변경되어야 하나요?

제가 이해하기에 따라 __get() 메서드의 동작 방식을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    Yaf_View_Simple 클래스의 __get() 메서드는 객체의 속성을 동적으로 조회하는 메서드입니다.

    속성이 없을 경우, __get() 메서드는 NULL을 반환합니다.

    속성이 없을 경우에 에러가 발생하지 않습니다.

    __get() 메서드를 오버라이딩 한 경우, 호출하는 코드는 변경되지 않습니다.

    예를 들어, 다음과 같은 코드가 있다고 가정해 보겠습니다.

    #hostingforum.kr
    php
    
    $view = new Yaf_View_Simple();
    
    echo $view->test; // NULL을 반환합니다.
    
    


    __get() 메서드를 오버라이딩 한 경우, 다음과 같은 코드가 가능합니다.

    #hostingforum.kr
    php
    
    class MyView extends Yaf_View_Simple {
    
        public function __get($name) {
    
            if ($name == 'test') {
    
                return '테스트';
    
            } else {
    
                return parent::__get($name);
    
            }
    
        }
    
    }
    
    
    
    $view = new MyView();
    
    echo $view->test; // '테스트'를 반환합니다.
    
    

    2025-06-04 18:16

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

검색

게시물 검색