> 백엔드 개발 > PHP 튜토리얼 > PHP에서 일반적으로 사용되는 매직 메소드에 대한 자세한 설명

PHP에서 일반적으로 사용되는 매직 메소드에 대한 자세한 설명

墨辰丷
풀어 주다: 2023-03-27 16:24:02
원래의
1334명이 탐색했습니다.

이 글에서는 주로 PHP에서 흔히 사용되는 매직 메소드 관련 정보를 소개합니다. 매우 좋은 참조 값을 가지고 있습니다. 편집기로 살펴보겠습니다

우리는 PHP에서 생성 메서드, 소멸자 메서드 및 기타 매직 변수와 같은 매직 메서드를 자주 사용합니다. 다음은 일반적으로 사용되는 몇 가지 매직 변수를 요약한 것입니다.

__construct(), __destruct(),__clone(),__autoload(),__tostring(),__invoke(),__set(),__get(),__unset(),__isset(),__call(),__callstatic;

1,__constuct ()Constructor

보통 객체를 인스턴스화한 후에는 객체의 속성을 초기화해야 합니다! 객체를 인스턴스화할 때 PHP 시스템은 자동으로 __construct()라는 메서드를 호출합니다. 우리는 이 메서드를 "생성자 메서드"라고 부릅니다.

그 중 생성자는 매개변수를 가질 수 없습니다!

<?php

class Stu {

 public $stu_name;
 public $stu_age;

//构造方法,实例化时自动调用
 public function __construct($name,$age){

  $this->stu_name = $name;
  $this->stu_age = $age;
 } 

}

//实例化stu对象
$stu = new Stu(&#39;孙悟空&#39;,&#39;500&#39;);
로그인 후 복사

2.__destruct() 소멸자 메서드

는 생성자 메서드와 쌍을 이루며, 생성자 메서드는 객체가 "생성"될 때 시스템에서 자동으로 호출됩니다. 개체가 "탄생"할 때 개체가 "사라질" 때 시스템에 의해 자동으로 호출됩니다!

소멸자 메서드의 이름은 __destruct()입니다. 여기에는 매개 변수가 포함될 수 없습니다.

<?php

//析构方法
public function __destruct(){

}
?>
로그인 후 복사

참고: 소멸자 메서드는 객체가 파괴되기 전에 호출됩니다!  

기능:

소멸자 메서드는 일반적으로 개체 자체를 파괴하는 대신 개체가 점유하고 있는 추가 리소스를 해제하는 데 사용됩니다!

3 개체가 여전히 Student 클래스의 인스턴스인가요?

instanceof 연산자를 사용하여 판단할 수 있습니다!

instanceof는 객체가 특정 클래스의 인스턴스인지 확인하는 데 사용됩니다!

두 개의 피연산자가 필요합니다. 앞은 객체 변수이고 뒤는 클래스 이름입니다! 부울 값을 반환합니다!

4.__autoload()는 자동으로 클래스를 로드합니다.

존재하지 않는 클래스를 호출할 때 자동으로 호출됩니다!

//克隆方法在克隆对象的时候对新对象的初始化工作
 
public function __clone(){
 
 $this->is_clone=true;
} 
로그인 후 복사

5.__tostring()

객체가 문자열로 사용될 때 자동 호출

var_dump($stu instanceof Stu);   //返回bool(true)

6.__invoke()

객체가 함수로 사용될 때 자동 호출

7,__set()

접근할 수 없는 속성에 값을 할당할 때 자동 호출(예: 클래스 외부에서 private 속성 호출)

8.__get()

접근할 수 없는 속성 값을 얻을 때 자동 호출

9.__unset()

액세스할 수 없는 속성을 삭제할 때 자동으로 호출됩니다.

10.__isset()

액세스할 수 없는 속성이 있는지 확인할 때 자동으로 호출됩니다.

11 __call()

정상적인 경우 자동으로 트리거됩니다. 접근할 수 없는 메소드가 호출됩니다

<?php 

/**
* 自动加载类
* 需要什么类__autoload会自动调用需要的文件
*
*/

public function __autoload($class_name)
{
 require_once "../Model/{$class_name}.class.php";
}
 ?>
로그인 후 복사

12.

위 내용은 이 글의 전체 내용이므로, 모든 분들의 학습에 도움이 되기를 바랍니다.

관련 권장 사항:

PHP

PDO 작업 요약_javascript 기술

PHP메서드 오버로딩을 사용하여 동적으로 생성된 속성_javascript 기술의 get 및 set 메서드 구현

사용 예 PHP

_javascript Skills

에서 스크립트 실행 시간을 계산하는 마이크로초

위 내용은 PHP에서 일반적으로 사용되는 매직 메소드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿