출력 개체를 정의할 때 호출됨
참조 반환 값이 있어야 하는 일부 개체에 대한 정보를 인쇄하는 데 자주 사용됩니다. 예: 지속성 클래스가 있습니다. Persion per =new persion()Echo per; 정의Function Tostring()
{
$str=this->$name.this->age;
Return $str;
}
$per1=$per2; 그리고 이것은 메모리에 주소가 하나만 있고 $per1=clone $per2 이때 메모리 주소는 두 개입니다 3. 클래스 인스턴스에 없는 함수를 호출하면 call() 메서드가 자동으로 실행됩니다.
클래스에 없는 함수를 호출하려고 하면
구문 오류
가 나타납니다. 친근한 프롬프트를 제공하기 위해
Function call($funName,$argu) { Echo "名为".$funName."参数为".printf($argh)."的函数不存在", }
Function autoload($className) { Include $className.".php"; }
클래스의 속성이 프라이빗 속성으로 설정되어 있으면 클래스 인스턴스에서 액세스할 수 없습니다. 그런데 액세스하려면 어떻게 해야 할까요? GET()을 사용할 수 있습니다예:
person per=new person()Per->$name을 인스턴스화하는 클래스에는
class person { Private $name; Private $age; }
Function GET($proName) { Return this->$proName; }
어떤 사람들은 이런 식으로 비공개 변수에 직접 액세스할 수 있습니다. ? 공개로 선언하면 임의로 읽을 수 있습니다. 비공개인 경우 get 메소드를 추가하면 비공개 속성이 호출될 때마다 GET 메소드의 내용이 호출되므로 몇 가지 논리적 처리를 추가할 수 있습니다. get 메소드에.
6.SET()은 클래스에 개인 속성을 설정합니다
원칙은 위와 동일합니다. 클래스 인스턴스를 호출하여 개인 속성에 값이 할당될 때마다 클래스에 SET() 함수를 추가할 수 있습니다.
함수 프로토타입:
Function SET($proName,$value) { This->$proName=$value; }
메서드 할당이므로 논리적 처리가 가능합니다.
먼저 isset 메소드를 소개하겠습니다.
속성 및 메소드
isset(per-> $name);//반환값은 false인데 $name 속성이 존재하는데 어떻게 해결하나요?
해결책:
1. $name을 개인 속성으로 정의합니다.
2. 클래스 정의에Function isset($proName)
{
Return isset(this->$proName);//再类内部是可以访问私有属性的
}
를 추가합니다. 이 경우 반환 값은 true입니다. ; 8.unset()은 클래스의 개인 변수를 지울 때 자동으로 호출됩니다.
unset()과 결합하면 클래스에서 속성을 삭제해야 할 때 사용할 수 있습니다. public 속성을 직접 삭제할 수 있지만, private인 경우에는 이 방법으로만 달성할 수 없습니다. 어떻게 달성하려면 Function unset($proName){Unset(this->$proName);}
위 내용은 PHP의 여러 매직 메소드 구문 및 사용 예제 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!