PHP Class 소멸자와 생성자
객체에 대한 생성자와 소멸자에 대한 것입니다.
생성자는: 인스턴스 생성될때 자동으로 뭔가 실행 시키고 싶을 때 사용
소멸자는: 인스턴스 종료될때 자동으로 뭔가 실행 시키고 싶을 때 사용
// 생성자, 소멸자 테스트용 클래스
class A
{
private $msg3 = '';
// 생성자
public function __construct($msg) {
$this->msg3 = $msg;
echo __METHOD__ . " $this->msg3 \n";
}
public function test2() {
echo __METHOD__ . " $this->msg3 " . PHP_EOL;
}
// 소멸자
public function __destruct() {
echo __METHOD__ . "\n";
}
}
$a = new A( '한글' );
// unset($a);
//이렇게 해도 소멸자는 실행이 된다.
exit;
$a->test2();
클래스 자체는 설계도 같은것으로 아무역활도 못합니다.
클래스를 생성하였을때 비로서 뭔가 할 수가 있는데 이때 생성할때와 없어질때 자동으로 실행 되는 뭔가를 하고 싶을 때 사용하는 메소드 입니다.
특이한 점은 프로그램 종료를 뜻하는 exit; 가 있을 경우 바로 그곳에서 프로그램이 종료 되는것이 아니라 객체의 소멸자가 있다면 반드시 소멸자는 실행 된다는 점입니다.
관련링크