이 기사에서 편집자는 코드와 함께 PHP의 매직 메소드 사용에 대해 간략하게 설명할 것입니다.
"마법의 방법"이란 무엇인가요?
PHP에서 두 개의 밑줄로 시작하는 메서드, __construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), __unset (), __sleep(), __wakeup() , __toString(), __set_state,() __clone() __autoload() 등을 "매직 메서드"라고 합니다. PHP가 이러한 매직 메소드를 호출하도록 하려면 먼저 클래스에서 정의해야 합니다. 그렇지 않으면 PHP는 생성되지 않은 매직 메소드를 실행하지 않습니다.
1.__get __set은 액세스할 수 없는 속성을 할당하고 읽을 때 호출됩니다.
2.__sleep은 객체를 직렬화할 때 호출됩니다.
3.__wakeup은 객체를 역직렬화할 때 호출됩니다.
4 객체를 직렬화할 때는 지정된 속성만 직렬화할 수 있습니다. 예를 들어 이 객체 문자열을 memcache에 저장하려고 할 때 더 유용합니다. 5. 예를 들어 다음 예에서는 데이터 속성만 제거하고 제한 사항을 적용합니다. __수면 기능
<?php class Test{ public $name; protected $data=array(); public function __set($name,$value){ $this->data[$name]=$value; } public function __get($name){ if(!isset($this->data[$name])){ return ""; } return $this->data[$name]; } public function __sleep(){ echo "sleep...\r\n"; return array('data'); } public function __wakeup(){ echo "wakeup...\r\n"; } } $test=new Test(); $test->name="我不会被序列化进去"; $test->bbbb="taoshihan"; $testObjectStr=serialize($test); var_dump($testObjectStr); var_dump(unserialize($testObjectStr));
관련 튜토리얼:
초보부터 마스터까지 PHP 프로그래밍 전체 비디오 튜토리얼 세트위 내용은 PHP에서 매직 메소드를 사용하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!