이전 글에서는 "PHP에서 상속과 파생이 무엇인가요?"에 대해 소개했습니다. 상속을 어떻게 사용하나요? 》, 이 기사에서는 계속해서 PHP의 매직 메소드가 무엇인지 소개합니다. 일반적으로 사용되는 매직 메소드는 무엇입니까? 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
1. 매직 메소드란
특정 시간에 시스템이 자동으로 호출하는 메소드
2. 일반적으로 사용되는 매직 메소드:
_get
객체가 외부에서 개인적으로 액세스되는 경우 멤버 또는 보호된 속성이 있을 때 호출됩니다.
이 메소드에는 하나의 매개변수가 있습니다. 매개변수는 속성 이름입니다.
코드를 예로 들어보겠습니다.
먼저 새 파일을 생성하고 다음과 같이 작성합니다. 클래스 클래스를 만들고 이를 Attributes 클래스에 정의한 다음 객체를 생성합니다. 방금 정의한 클래스를 출력(echo)하면 오류가 발생합니다. 객체는 공용 속성에만 액세스할 수 있고 protected 및 속성에는 액세스할 수 없기 때문입니다.
<?php class Person { public $name = '林徽因'; protected $pome = '答案很长,我准备用一生的时间来回答,你准备要听了吗?'; private $time = '民国' ; } $niu = new Person(); echo $niu->pome; ?>
코드 표시 결과:
위 코드를 실행하면 오류가 있음을 알 수 있습니다. 따라서 보호 및 개인 속성은 외부에서 액세스할 수 없습니다. 외부적으로 개체를 통해 보호 속성 또는 개인 속성에 액세스하려고 합니다. 개인 멤버 속성에 액세스하면 get 메서드가 자동으로 트리거됩니다.
public function __get($name){ echo $name; }
그런 다음 $name을 인쇄합니다.
코드는 결과를 표시합니다.
따라서 if 문을 사용하여 위 코드를 통해 판단할 수 있습니다.
if ($name == 'pome'){ return $this->pome;
코드는 결과를 표시합니다.
The 위에서 말한 내용입니다. get 사용법
--set
트리거 타이밍: 객체가 외부에서 비공개 또는 보호된 멤버 속성 값을 설정할 때 호출됩니다.
이 메소드에는 두 개의 매개변수가 있습니다.
매개변수 1: 멤버 속성 이름!
매개변수 2: 설정할 값
코드를 예로 들어보겠습니다.
모든 매직 메소드는 위와 같이 클래스에 속성을 정의한 다음 객체를 생성합니다. 속성을 설정합니다. 하나는 속성 이름이고 다른 하나는 속성 값입니다.
public function __set($name,$value) { var_dump($name,$value); } } $niu = new Person(); //echo $niu->pome; $niu->pome = '答案很长,我准备用一生的时间来回答,你准备要听了吗?';
코드는 결과를 표시합니다.
추가: (설명: 자세한 내용은 다음번에)
외부적으로 사용할 수 있음 unset을 통해 객체의 공용 속성을 삭제
_unset
트리거 타이밍: 프라이빗 또는 보호된 멤버 속성이 외부에서 삭제될 때 객체가 호출됩니다.
이 메서드에는 하나가 있습니다. 매개변수: 매개변수는 비공개 멤버 속성 이름입니다
_isset
트리거 시간: 개체가 비공개 또는 보호된 멤버 속성을 외부에서 결정할 때 호출됩니다.
이 메소드에는 하나의 매개변수가 있습니다. 매개변수는 비공개 멤버 속성 이름
입니다. construct: 생성자 메서드
트리거 시간: 생성 시 객체가
destruct: 소멸자 메서드
toString(이해)
트리거 시간: 에코 - 객체가 있을 때 트리거됨
함수가 필요하면 반환 - 문자열
__debugInfo(이해)
트리거 타이밍: var_dump - 객체가 반환될 때 트리거
이 함수가 반환해야 하는 경우 - 배열
권장 학습: php 비디오 자습서
위 내용은 PHP의 매직 메소드란 무엇입니까? 일반적으로 사용되는 매직 메소드는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!