not bad 한 개발

PHP - 소멸자(destruct ) 본문

PHP/PHP class

PHP - 소멸자(destruct )

leebean 2022. 5. 5. 21:39

(W3School의 PHP 튜토리얼을 사용했습니다.)

https://www.w3schools.com/php/php_oop_destructor.asp

 

PHP OOP Destructor

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

 

 소멸자(destruct) 

클래스를 선언하고 소멸자(destruct)를 사용하면 객체의 사용을 마치면 소멸자로 넘어가고 객체가 소멸되거나 스크립트가 중지되거나 종료됩니다, 결국 소멸자(destruct)는 클래스 사용을 마치면 자동으로 호출됩니다, 보통 생성자(construct)를 사용하면 소멸자(destruct)도 같이 사용합니다.

 

(사용법)

<!DOCTYPE html>
<html>
	<body>
  	<?php
    	class test {
      		public $num; // 클래스 변수
      		public $color; // 클래스 변수

      		function __construct($num, $color) {
        		$this->num = $num; 
            		// class num에 매개변수 num 저장
        		$this->color = $color;
                	// class num에 매개변수 num 저장
      		}// __construct end
      		function __destruct() {
      			for($i = 0; $i < $this->num; $i++){
                		echo "select color $this->color. <br>"; 
                    	// "select color red."를 세 번 출력
                	}// for end
      		}// destruct end
    	}// test class end
    	$apple = new test(3, "red"); 
        // $apple이름의 레퍼런스 변수 선언 및 test인스턴스를 저장
        // $apple레퍼런스 변수의 초기값을 3, "red"로 넣는다.
  	?>
	</body>
</html>

 

(소멸자 예시)

<!DOCTYPE html>
<html>
	<body>
  	<?php
    	class test {
        	public $num1; // 클래스 변수 num1
            public $num2; // 클래스 변수 num2
            public $num3; // 클래스 변수 num3
            
      		function __construct($num1, $num2, $num3) {
     	   		$this->num1 = $num1;
                // class num1에 매개변수 num1을 저장
                $this->num2 = $num2;
                // class num2에 매개변수 num2을 저장
                $this->num3 = $num3;
                // class num3에 매개변수 num3을 저장
      		}// __construct end
            function add_num(){
            	echo $this->num1 + $this->num2 + $this->num3;
                // class num1, num2, num3에 저장되어있는 값을 리턴
            }
      		function __destruct() {
      			echo "num1 + num2 + num3 = ",$this->add_num();
                // 소멸자를 통해 문자열과 add_num()함수의 리턴 값을 출력
      		}// __destruct end
    	}// test class end
    	$apple = new test(3, 4, 5); 
        // $apple이름의 레퍼런스 변수 선언 및 test인스턴스를 저장
        // $apple레퍼런스 변수의 초기값을 3, 4, 5로 넣는다.
  	?>
	</body>
</html>

초기값 3개를 넣으면 3개의 합을 출력하는 예제입니다.

'PHP > PHP class' 카테고리의 다른 글

PHP - 상속(extends)  (0) 2022.05.08
PHP - 생성자(construct)  (0) 2022.04.30
PHP - 접근 제어자  (0) 2022.04.01
PHP - 클래스와 객체 사용하기  (0) 2022.03.31
PHP- 개발환경 설정하기(Bitnami)  (0) 2022.03.18
Comments