이 글은 주로 PHP 매직 함수와 매직 상수 관련 지식을 소개합니다. 도움이 필요한 친구들은
php 매직 함수
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()
객체를 인스턴스화할 때 해당 클래스가 존재하지 않으면 이 메서드가 호출됩니다.
php 마법 상수
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) 매직 메소드에 대한 첫 소개
Php 5.0은 출시 이후 많은 객체 지향 기능을 제공했으며, 특히 사용하기 쉬운 많은 매직 메소드를 통해 코딩을 단순화하고 더 많은 작업을 수행할 수 있습니다. 편리합니다. 시스템을 잘 설계하세요. 오늘은 php5.0에서 제공하는 매직 메소드에 대해 알아보겠습니다.
마법 함수를 사용한 php와 마술 함수를 사용하지 않은 php의 비교
/** * use magic 0.31868386268616s * not use magic 0.11876797676086s */ class Test { private $varstr = "123"; function __get($name) { return $this->varstr; } } function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $time_start = microtime_float(); $i = 0; while ($i<100000) { $i++; $t = new Test(); $t->varstr; } $time_end = microtime_float(); $time = $time_end - $time_start; echo "Did nothing in $time seconds\n";
PHP 마술 함수를 최대한 적게 사용하는 것이 좋습니다
위 내용은 PHP의 매직 함수 및 매직 상수 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!