PHP __construct 생성자
설명
__construct 생성자라고도 하며 클래스에서 처음으로 호출되는 함수이다.
php 에서 클래스를 선언할 후에 인스턴스를 생성하게 되고 자동으로 호출되는 함수이다
주로 나같은 경우에는 생성자에 객체에서 공통으로 사용할 모델 , 렌더링될 view 를 선언하는 편이다.
class Test
{
public function __construct(){
$this->testModel = new TestModel();
$this->data['footer'] = view('test/include/footer' );
}
}
예시
class Testclass
{
public $name ;
function __construct ( $name )
{
$this->name = $name ;
}
public function name ()
{
print_r( "저의 이름은 { $this -> name } 입니다. );
}
}
라고 쓰고 다른 클래스에서
class Nameclass
{
public function index(){
$testClass = new Testclass();
$testNmae = $testClass->name('김상범');
echo $testNmae;
}
}
호출하게 되면 결과는
저의 이름은 김상범 입니다.
라고 나온다.
부모의 생성자 호출
class Testclass extends BigTestController
{
function __construct ( $name )
{
parent::__construct();
}
}
Testclass 에서 부모 즉 BigTestController 의 생성자를 호출할 수 있다.
abstract class BigTestController extends Controller
{
public function __construct()
{
$this->test = 'test';
}
}
class Testclass extends BigTestController
{
function __construct ( $name )
{
parent::__construct(); //부모의 생성자 사용
}
public function index(){
echo $this->test;
}
}
하면 test가 노출된다.
소멸자
📌 __destruct()
__construct() 즉 생성자 처럼 초기에 실행되는 메소드가 있다고 하면 반대로 php 의 모든 스크립트의 소스 실행이 끝나면 실행하는 __destruct() 메소드 함수가 있다.
❗마치며
조금씩 쌓이는 게시물을 보니 기분이 좋다.
시간을 더 내서 다음에는 더 자세한 객체지향 프로그래밍과 Modern PHP 를 적어봐야겠다.
댓글