Magic method는 PHP 객체 지향의 고유한 기능입니다. 특정 상황에서 트리거되며 모두 이중 밑줄로 시작합니다. 패턴 메소드를 사용하면 PHP 객체 지향에서 오버로드를 쉽게 구현할 수 있습니다(오버로딩은 클래스속성 및 메소드를 동적으로 생성하는 것을 의미합니다). 많은 매직 메소드가 쌍으로 나타납니다. 다음은 PHP의 현재 패턴 메소드를 모두 나열합니다.
1.construct, destruct
constuct는 객체를 생성할 때 호출됩니다.
destruct는 객체가 명시적으로 삭제되거나 스크립트가 종료될 때 호출됩니다.
2.get, set
set입니다. inaccessible 또는 not 속성 할당이 있을 때 호출됩니다.
get은 액세스할 수 없거나 존재하지 않는 속성을 읽을 때 호출됩니다.
3.isset, unset
isset은 isset() 또는 empty()가 호출될 때 호출됩니다. 액세스할 수 없거나 존재하지 않는 속성
unset은 액세스할 수 없거나 존재하지 않는 속성을 설정 해제할 때 호출됩니다.
4.call, callStatic 액세스할 수 없거나 존재하지 않는 정적 메서드가 호출될 때 callStatic이 호출됩니다. 액세스할 수 없거나 존재하지 않는 정적 메소드가 호출됩니다.
5.sleep, wakeup
sleep은 직렬화를 사용할 때 호출되며, 대형 객체의 모든 데이터를 저장할 필요가 없을 때 유용합니다. wakeup은 다음과 같은 경우에 호출됩니다. unserialize를 사용하면 일부 개체 초기화를 수행하는 데 사용할 수 있습니다. 작업
6.clone
은 개체가 복제될 때 호출되며 개체의 복제 동작을 조정하는 데 사용됩니다.
7.toString
이 호출됩니다. 클래스가 문자열로 변환될 때
8.invoke
객체가 기능적으로 호출될 때 호출됩니다.
9.set_state
이 정적 메서드는 클래스를 내보내기 위해 var_export()가 호출될 때 호출됩니다. var_export의 반환 값으로 set_state의 반환 값을 사용합니다.
10.debuginfo
객체를 인쇄하기 위해 var_dump()를 호출할 때 호출됩니다(모든 속성을 인쇄하고 싶지 않을 때) PHP5.6 버전에 적용 가능
PHP 매직 메소드 사용 예는 다음과 같습니다.으아악
위 내용은 PHP 객체지향의 매직 메소드 예제 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!