>백엔드 개발 >PHP 튜토리얼 >PHP 생성자와 소멸자에 대한 자세한 설명

PHP 생성자와 소멸자에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-12 10:33:372658검색

PHPDestructorConstructor와 반대입니다. 메모리에서 객체를 파괴하기 위해 호출되며, 객체 속성이 차지하는 메모리를 해제하고 객체 관련 리소스를 파괴하는 데 도움이 됩니다.

PHP 생성자는 객체가 생성된 후 자동으로 호출되는 첫 번째 메서드이고, 소멸자는 객체가 해제되기 전에 자동으로 호출되는 마지막 메서드입니다. 이 기사에서는 PHP 생성자와 소멸자를 소개합니다.

php constructor


Constructor 는 특별한 방법입니다. 주로 객체를 생성할 때 객체를 초기화하는 데 사용됩니다. 즉, 객체 멤버 변수에 초기값을 할당하는 데 사용됩니다. 객체를 생성하는 문에서는 항상 new 연산자와 함께 사용됩니다. 특수 클래스에는 여러 개의 생성자가 있을 수 있으며, 이는 매개 변수의 수나 매개 변수의 유형, 즉 생성자의 오버로드에 따라 구별될 수 있습니다.

1 객체가 생성된 후 "첫 번째" "자동 호출" 메소드입니다.
생성자 메소드 정의 , 메소드 이름은 php4에서

: 클래스와 동일합니다. name 메소드는 생성 메소드입니다.

php5에서 생성 메소드는
magic 메소드 construct()를 사용하도록 선택합니다. 이 이름을 사용하여 모든 클래스에서 생성자 메소드를 선언합니다.

이점: 클래스 이름을 변경할 때 생성자 메소드는 다음을 수행합니다. 변경할 필요가 없습니다


Magic Method: 클래스에 특정 매직 메소드를 작성하면 해당 메소드에 해당하는 함수가 추가됩니다. 메소드 이름은 모두 고정되어 있으며(모두 시스템에서 제공됨) 각 매직 메소드는 특정 기능을 완료하기 위해 서로 다른 시간에 자동으로 호출되는 메소드입니다.

다양한 매직 메소드는 호출 타이밍이 다릅니다.
이들은 모두
constructor(); );...

함수: 멤버 속성 초기화;

php 소멸자

소멸자(소멸자) 생성자와는 반대로 객체가

생명주기

를 종료할 때(예: 객체가 실행되는 함수) 호출된 경우) 시스템이 자동으로 소멸자를 실행합니다. 소멸자는 종종 "정리" 작업을 수행하는 데 사용됩니다(예를 들어 객체를 생성할 때 new를 사용하여 메모리 공간을 열고, 삭제는 자동으로 소멸자를 호출하여 메모리를 해제합니다). 1. 객체가 해제되기 전 마지막 "자동" 호출 메서드가비지 수집기(java php)를 사용하는 반면 C++는 수동으로 해제합니다.

기능: 일부 리소스를 닫고 정리 작업을 수행합니다


destruct() ;

PHP 생성자와 소멸자 예제

class Person{ 
var $name; 
var $age; 
var $sex; 
//php4中的构造方法 
/*function Person() 
{ 
//每声明一个对象都会调用 
echo "1111111111111111"; 
}*/ 
//php5中的构造方法 
function construct($name,$age,$sex){ 
$this->name=$name; 
$this->age=$age; 
$this->sex=$sex; 
} 
function say(){ 
//$this->name;//对象中成员的访问使用$this 
echo "我的名字:{$this->name},我的年龄:{$this->age}<br>" 
} 
function run(){ 
} 
function eat(){ 
} 
//析构方法 
function destruct(){ 
} 
} 
$p1=new Person("zhangsan",25,"男"); 
$p2=new Person; 
$p3=new Person;

위 내용은 PHP 생성자와 소멸자에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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