はじめに
コンストラクター、デストラクターについてまとめる
コンストラクター
インスタンス化のタイミングで実行されるメソッド。
主にプロパティの初期化、外部リソースの初期化などの処理に使われる。
Person.php
class Person
{
public $firstName;
public $lastName;
public function __construct($firstName, $lastName)
{
$this->firstName = $firstName;
$this->lastName = $lastName;
}
public function getFullName()
{
print "<p>僕の名前は{$this->lastName}{$this->firstName}です。</p>";
}
}
construct.php
<?php
require_once 'Person.php';
$p = new Person('太郎', '山田');
$p->show(); // 結果:僕の名前は山田太郎です。
デストラクター
オブジェクトを参照するリファレンスがひとつもなくなったときにコールされるメソッド。
クラスの中で使ったリソースを破棄するときなど、主に終了するときの処理に使われる。
Person.php
<?php
class Person
{
public $firstName;
public $lastName;
public function __construct($firstName, $lastName)
{
$this->firstName = $firstName;
$this->lastName = $lastName;
}
public function __destruct()
{
print '<p>'.__CLASS__.'オブジェクトが破棄されました。</p>';
}
public function getFullName()
{
print "<p>僕の名前は{$this->lastName}{$this->firstName}です。</p>";
}
}
destruct.php
<?php
require_once 'Person.php';
$p = new Person('太郎', '山田');
$p->show();
// 結果:
// 僕の名前は山田太郎です。
// Personオブジェクトは破棄されました。