>  기사  >  백엔드 개발  >  PHP 소멸자와 재활용 메커니즘

PHP 소멸자와 재활용 메커니즘

不言
不言원래의
2018-04-26 10:47:471023검색

이 기사의 내용은 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;;

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

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

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

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

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

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


관련 권장 사항:

PHP 생성자 자세한 설명

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

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