PHP에서 일반적으로 사용되는 매직 메소드는 무엇입니까?

怪我咯
풀어 주다: 2023-03-12 17:00:01
원래의
19905명이 탐색했습니다.

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

PHP에서 일반적으로 사용되는 매직 메소드는 무엇입니까?

우리는 PHP에서 생성 메서드, 소멸자 메서드 및 기타 매직 변수와 같은 매직 메서드를 자주 사용합니다. 다음은 일반적으로 사용되는 몇 가지 매직 변수에 대한 요약입니다. ),destruct(),clone(),autoload(),tostring(),invoke(),set(),get(),unset(),isset(),call(),callstatic;

1 .constuct()Constructor

보통 객체를 인스턴스화한 후 객체의 속성을 초기화해야 합니다! 객체를 인스턴스화할 때 PHP 시스템은 자동으로 constructor()라는 메서드를 호출합니다. 우리는 이 메서드를 "생성자 메서드"라고 부릅니다. 그 중 생성자 메소드는 매개변수를 가질 수 없습니다!

<?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.clone() cloning

트리거 시간: 개체를 복제할 때 새 개체를 초기화하는 작업입니다

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

생각:

복제된 개체가 여전히 Student인가요? 클래스의 인스턴스는 어떻습니까?

instanceof 연산자를 사용하여 판단할 수 있습니다! instanceof는 객체가 특정 클래스의 인스턴스인지 확인하는 데 사용됩니다!

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

var_dump($stu instanceof Stu);     //返回bool(true)
로그인 후 복사

4.autoload()

클래스 자동 로딩

존재하지 않는 클래스 호출 시 자동 호출!

<?php 

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

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

5.tostring()

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

6.invoke()

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

7, set ( )

액세스할 수 없는 속성에 값을 할당할 때 자동으로 호출됩니다(예: 클래스 외부에서 개인 속성 호출)

8.get()

액세스할 수 없는 속성 값을 가져올 때 자동으로 호출

9. unset()

액세스할 수 없는 속성을 삭제할 때 자동으로 호출됨

10.isset()

액세스할 수 없는 속성이 존재하는지 확인할 때 자동으로 호출됨

11.call()

접근할 수 없는 속성이 존재하는지 확인할 때 자동으로 호출됨 액세스할 수 있는 메서드가 호출됩니다

<?php 
class Stu{

 public function call(){
    echo "error";
 }
}
$stu = new Stu();
//此时Stu类里没有show()方法,会触发call()函数
$stu->show();
로그인 후 복사

12.callststic()

액세스할 수 없는 메서드에 액세스할 수 없을 때 자동으로 트리거됩니다.

<?php 
class Stu{

 public static function callstatic(){
  echo "error";
 }
}
$stu = new Stu();
//此时Stu类里没有show()方法,会触发call()函数
$stu::show();
로그인 후 복사

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

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