>백엔드 개발 >PHP 튜토리얼 >php5 PHP5의 객체 할당 메커니즘 소개

php5 PHP5의 객체 할당 메커니즘 소개

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-07-29 08:46:21803검색

코드 복사 코드는 다음과 같습니다.


class SimpleClass{
public $var = ' 기본값 ';
public function displayVar() {
echo $this->var
}
}
$instance = new SimpleClass(); $instance;
$reference =& $instance;
$instance->var = '$designed는 이 값을 갖습니다.'
$instance = null; ($instance );var_dump($designed);
var_dump($instance);
var_dump($designed);
?>


php5는 OOP의 맨 아래 레이어를 다시 작성합니다. 클래스가 인스턴스(객체)를 생성할 때 반환 값 $instance는 객체 자체가 아니라 객체의 id(또는 리소스 핸들)일 뿐입니다. 따라서 $instance가 $Assigned에 할당되면 $할당도 다음을 가리킵니다. 이 객체는 일반 변수의 참조(&) 연산과 약간 비슷합니다. 따라서 $instance가 초기화되면 $Assigned도 초기화됩니다. 그러나 $instance가 소멸(=null)되면 해당 객체에 여전히 핸들($할당됨)이 있으므로 해당 객체는 소멸되지 않으며 소멸자가 트리거되지 않습니다. 결과적으로 var_dump($signed)는 객체의 값이고 $instance는 이미 null을 표시하는 빈 핸들입니다. $reference는 $instance를 갖는 일반 변수와 유사한 참조 관계를 갖기 때문에 빈 핸들이 되어 null을 표시합니다.

이상에서는 php5의 내용을 포함하여 php5 PHP5의 객체 할당 메커니즘을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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