not bad 한 개발

PHP - 생성자(construct) 본문

PHP/PHP class

PHP - 생성자(construct)

leebean 2022. 4. 30. 14:19

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

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

 

PHP OOP Constructor

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

 

 생성자(construct) 

클래스를 선언하고 생성자(construct)를 사용하면 객체가 생성되면 객체의 속성을 초기화시킬 수 있습니다, 다르게 말하면 클래스로 객체를 만들면 가장 먼저 실행된다는 의미입니다, 생성자를 호출하는데 매개변수가 있으면 매개변수의 개수만큼 처음에 초기화를 해야 합니다.

(사용법)

<!DOCTYPE html>
<html>
	<body>
    	<?php
        	class mart{ // mart 클래스 선언
			function __construct(){ 
                        // 생성자를 선언, 객체를 생성하면 제일먼저 실행
                    		echo("construct 출력<br>");
                    		// "construct 출력" 메세지 출력
                	}
                }
        	$cash = new mart(); 
    		// 객체 cash를 mart형으로 생성 및 선언 
	?>
	</body>
</html>

 

(생성자 예시)

<!DOCTYPE html>
<html>
	<body>
        <?php
            class mart{ // mart 클래스 선언
            	public $fish; // public 타입 변수 $fish 선언
                public $meet; // public 타입 변수 $fish 선언
                public $vegetable; // public 타입 변수 $fish 선언
                
                function __construct($fish, $meet, $vegetable){ 
                    // 생성자를 선언, 객체를 생성하면 제일먼저 실행
                    $this->fish = $fish; // 입력된 생성자를 멤버변수 $fish에 저장
                    $this->meet = $meet; // 입력된 생성자를 멤버변수 $meet에 저장
                    $this->vegetable = $vegetable;
                    // 입력된 생성자를 멤버변수 $vegetable에 저장
                    echo("construct 마침<br>");
                    // "construct 출력" 메세지 출력
                } // construct end 
                function sale(){
                	return array( // 배열 형태로 리턴
                    		$this->fish, // 멤버변수 $fish
                        	$this->meet, // 멤버변수 $meet
                        	$this->vegetable // 멤버변수 $vegetable
                    	);
                } // sale function end
            } // mart class end
            
            $cash = new mart("beef","salmon","potato"); 
            // 객체 cash를 mart형으로 생성및 선언한 후 초기화
            list($food1,$food2,$food3) = $cash->sale(); // 리턴된 배열을 list에 저장
           	
            echo $food1."<br>".$food2."<br>".$food3;
            // beef, salmon, potato에 저장되어있는 값을 출력
	?>
	</body>
</html>

처음에 생성자를 넣으면 sale() 함수를 통해 list에 멤버 변수의 값을 저장하고 list에 저장되어있는 내용을 출력해줍니다.

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

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