>  기사  >  백엔드 개발  >  PHP 소멸자 및 재활용 메커니즘 예제에 대한 자세한 설명

PHP 소멸자 및 재활용 메커니즘 예제에 대한 자세한 설명

小云云
小云云원래의
2018-03-31 13:18:581173검색

이 글은 주로 PHP 소멸자 및 재활용 메커니즘 예제에 대한 자세한 설명을 코드 형식으로 공유합니다.

// ===참고 1부===

/*
질문
1. 객체를 true와 같은 다른 항목에 할당하면 객체가 파괴되나요?
답변: 예

2. 110.php의 코드 파트 4
왜 하나는 파괴되고 2는 비어 있나요?
마지막 항목이 hr 라인 아래에 표시되나요?

답변: PHP 페이지가 실행되었기 때문에 마지막 항목이 삭제되었습니다.
이 시점에서 시스템이 마침내 재활용되고 $d가 삭제됩니다.
그래서 hr 줄 뒤에 표시됩니다.
*/


// == =코드 부분 1= ==

class Human2 {

    public $name = null;    public $gender = null;    public function __construct() {
        echo &#39;出生了<br >&#39;;
    }    public function __destruct() {
        echo &#39;再见<br >&#39;;
    }
}$a = new Human2();$b = new Human2();$c = new Human2();$d = new Human2();unset($a);//$b = false;$b = true;//改成true也可以销毁$c = null;echo &#39;<hr >&#39;;



// 객체 재활용 메커니즘

// ===코드 부분 2===

class Human {

    public $name = null;    public $gender = null;    public function __destruct() {
        echo &#39;再见!<br >&#39;;
    }
}$a = new Human();$b = $c = $d = $a;unset($a);echo &#39;<hr >&#39;;

/*
그러면 질문은:
1 번이나 죽었습니다. ?
2. HR 라인에서 죽을 것인가, 아니면 HR 라인 아래에서 죽을 것인가?

답: 회색선 아래에서 한 번 사망했습니다.
그림 11101과 같이 인간의 집을 여는 열쇠 a 중 하나가 빠져 있고,
b, c, d 세 개의 열쇠도 있습니다.

모든 코드가 최종적으로 실행되고 재활용 메커니즘이 시작될 때까지
안녕하세요.
*/
PHP 소멸자 및 재활용 메커니즘 예제에 대한 자세한 설명
PHP 소멸자 및 재활용 메커니즘 예제에 대한 자세한 설명



// ===코드 부분 3===

class Human {

    public $name = &#39;张三&#39;;    public $gender = null;    public function __destruct() {
        echo &#39;再见!<br >&#39;;
    }
}$a = new Human();$b = $c = $d = $a;echo $a->name,&#39;<br >&#39;; //张三echo $b->name,&#39;<br >&#39;; //张三$b->name =&#39;李四&#39;;echo $a->name,&#39;<br >&#39;; //李四echo $b->name,&#39;<br >&#39;; //李四unset($a);echo &#39;<hr >&#39;;// hr线// 再见!



// ===코드 부분 4===

class Human {

    public $name = &#39;张三&#39;;    public $gender = null;    public function __destruct() {
        echo &#39;再见!<br >&#39;;
    }
}$e = $f = $g = new Human();unset($e);echo &#39;unset e<br >&#39;;unset($f);echo &#39;unset f<br >&#39;;unset($g);// 本行unset触发对象消亡,然后执行下一行echo gecho &#39;unset g<br >&#39;;

/*
여기서 페이지가 실행됩니다 완료 , 객체가 파괴되고 소멸자가 실행됩니다.
얼마나 많은 객체가 파괴되었나요?

답변:
객체는 하나뿐이고 한 번만 죽습니다.
시스템이 재활용될 때, 즉 페이지가 실행될 때 죽습니다.
*/

관련 권장 사항:

php. 생성자 및 소멸자 자세한 설명

php 생성자 및 소멸자 사용법에 대한 자세한 설명

PHP 가비지 수집 메커니즘 마스터하기

위 내용은 PHP 소멸자 및 재활용 메커니즘 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.