>  기사  >  백엔드 개발  >  --- 섹션 11--다시 로드

--- 섹션 11--다시 로드

WBOY
WBOY원래의
2016-07-29 08:34:58786검색

/*
-------------------------------- ----------------------------------
| = 이 글은 Haohappy<
| = 해당 장의 클래스 및 개체에 대한 참고 사항
| = 개인적인 경험을 바탕으로 작성되었습니다.
| = 불필요한 문제를 피하기 위해 재인쇄하지 마십시오. 감사합니다
| 비판과 수정을 환영하며, 모든 PHP 애호가들과 함께 발전하기를 바랍니다!
| = PHP5 연구 센터: http://blog.csdn.net/haohappy2004
--------- ----- ------------------- ----- ---------------
*/
섹션 11--오버로딩
PHP4에는 이미 외부 개체 모델 매핑을 설정하는 오버로딩 구문이 있습니다. Java 및 COM. PHP5는 강력한 객체 지향 오버로드를 제공하므로 프로그래머는 속성에 액세스하고 메서드를 호출하는 사용자 정의 동작을 구축할 수 있습니다.
오버로드는 __get, __set 및 __call을 통해 수행할 수 있습니다. PHP는 Zend 엔진이 이러한 메서드를 호출합니다.
예제 6.14에서 __get 및 __set는 속성 변수 배열에 대한 모든 액세스를 대체합니다. 예를 들어 스크립트는 속성 설정을 비활성화할 수 있습니다. 값은 특정 접두사로 시작하거나 특정 유형의 값을 포함합니다.
__call 메서드는 정의되지 않은 메서드를 호출하는 방법을 보여줍니다. 정의되지 않은 메서드를 호출하면 메서드에서 받은 매개 변수가 전달됩니다.
Listing 6.14 사용자 수준 오버로딩

코드 복사 코드는 다음과 같습니다. :

클래스 오버로더
{
private $properties = array();
function __get { ties[$property_name]);
                                                 🎜> 기능 __set($property_name, $value)
{
$this-> 속성[$property_name] = $value;
} }
함수 __call($function_name, $args)

           print("인수: ");                                             호출 __set() 존재하지 않는 속성 변수에 값을 할당하고 __set()을 활성화합니다.
$o->dynaProp = "동적 콘텐츠";
//__get() 호출 __get() 활성화
print($o->dynaProp . "
n")
//__call() 호출 __call 활성화 ()
$o->dynaMethod("Leon", "Zeev") ;  
?>

위에서 --- 섹션 11 -- 오버로딩, --- 측면을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


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