>백엔드 개발 >PHP 튜토리얼 >PHP 매직 메소드 PHP 매직에 대한 심층적 이해 PHP의 PHP 매직 메소드

PHP 매직 메소드 PHP 매직에 대한 심층적 이해 PHP의 PHP 매직 메소드

WBOY
WBOY원래의
2016-07-29 08:49:181070검색

??요약: yii 프레임워크의 소스 코드를 추적하던 중 __set() 매직 메서드를 사용하는 것을 발견하고 약간 혼란스러워서 테스트하기 위해 데모를 작성했습니다. 물론 미스터리를 발견했습니다. , 이는 다음과 같이 요약됩니다.

1. 먼저 책에서 __set() 매직 메소드가 어떻게 사용되는지 살펴보겠습니다.

__set() 매직 메소드를 사용하는 목적은 외부에서 개인 속성을 생성하는 것입니다. 개체 할당, 개인 속성의 값을 얻을 수 없습니다.
??함수 프로토타입:

<code>void __set(string name,mixed value)
</code>

데모 작성:

<code><span><span>class</span><span>CModule</span> {</span><span>private</span><span>$_components</span> = <span>''</span>;

    <span>public</span><span><span>function</span><span>__set</span><span>(<span>$name</span>,<span>$value</span>)</span>{</span><span>$this</span>-><span>$name</span> = <span>$value</span>;
    }

    <span>public</span><span><span>function</span><span>echoPrivate</span><span>()</span>{</span><span>echo</span><span>$this</span>->_components;
    }
}

<span>$config</span> = <span>array</span>(
    <span>'_components'</span>=><span>'request'</span>
);
<span>$module</span> = <span>new</span> CModule();
<span>$module</span>->_components = <span>'request'</span>;
<span>$module</span>->echoPrivate();
<span>//打印结果是</span><span>//request</span></code>

<계속하려면(너무 졸림)>

').addClass( ' 미리 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

이상으로 PHP 매직 메소드의 내용을 포함하여 PHP 매직 메소드에 대한 심도 있는 이해를 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.