마법의 기능
1. __construct()
는 객체를 인스턴스화할 때 호출됩니다.
__construct와 클래스 이름 및 함수 이름을 가진 함수가 동시에 존재하면 __construct가 호출되고 다른 하나는 호출되지 않습니다.
2. __destruct()
객체가 삭제되거나 객체 작업이 종료될 때 호출됩니다.
3. __call()
객체가 특정 메소드를 호출합니다.
메서드가 있으면 직접 호출됩니다.
존재하지 않으면 __call 함수가 호출됩니다.
4. __get()
객체의 속성을 읽을 때
속성이 존재하면 속성 값을 직접 반환합니다.
존재하지 않으면 __get 함수가 호출됩니다.
5. __set()
객체의 속성을 설정할 때
속성이 있으면 값을 직접 할당하고
없으면 __set 함수를 호출합니다.
6. __toString()
객체를 인쇄할 때 호출됩니다. echo $obj; 또는 print $obj;
7. __clone()
객체를 복제할 때 호출됩니다. 예: $t=new Test();$t1=clone $t;
8. __sleep()
은 직렬화 전에 호출됩니다. 객체가 상대적으로 크고 직렬화하기 전에 몇 가지 항목을 삭제하려는 경우 이 기능을 고려할 수 있습니다.
9. __wakeup()
은 직렬화 해제 시 호출되며 일부 객체 초기화 작업을 수행합니다.
10. __isset()
객체의 속성이 존재하는지 확인할 때 호출됩니다. 예: isset($c->name).
11. __unset()
객체의 속성을 설정 해제할 때 호출됩니다. 예: unset($c->name).
12. __set_state()
var_export가 호출될 때 호출됩니다. __set_state의 반환 값을 var_export의 반환 값으로 사용합니다.
13. __autoload()
객체를 인스턴스화할 때 해당 클래스가 존재하지 않으면 이 메서드가 호출됩니다.
마법 상수
1. __LINE__
파일의 현재 줄 번호를 반환합니다.
2. __FILE__
파일의 전체 경로와 파일 이름을 반환합니다. 포함 파일에 사용되는 경우 포함 파일 이름을 반환합니다. PHP 4.0.2부터 __FILE__에는 항상 절대 경로가 포함되어 있지만 이전 버전에서는 때때로 상대 경로가 포함되어 있었습니다.
3. __FUNCTION__
함수 이름을 반환합니다(PHP 4.3.0에 새로 추가됨). PHP 5부터 이 상수는 정의된 대로 함수 이름을 반환합니다(대소문자 구분). PHP 4에서 이 값은 항상 소문자입니다.
4. __CLASS__
클래스 이름을 반환합니다(PHP 4.3.0의 새로운 기능). PHP 5부터 이 상수는 정의되었을 때 클래스의 이름을 반환합니다(대소문자 구분). PHP 4에서 이 값은 항상 소문자입니다.
5. __METHOD__
클래스의 메소드 이름을 반환합니다(PHP 5.0.0에 새로 추가됨). 정의된 대로 메서드의 이름을 반환합니다(대소문자 구분).
(1) 매직 메소드에 대한 첫 소개
Php5.0은 출시 이후 많은 객체 지향 기능을 제공했으며, 특히 코딩을 단순화하고 작업을 단순화할 수 있는 사용하기 쉬운 매직 메소드를 많이 제공했습니다. 우리 시스템을 더 잘 설계해보세요. 오늘은 php5.0에서 제공하는 매직 메소드에 대해 알아보겠습니다.