PHP コンストラクタとデストラクタの使い方

コンストラクタ

コンストラクタとは、クラスにおいてオブジェクトが生成された際に実行されるメソッドのことです。コンストラクタの良くある使い方は、オブジェクト生成時のインスタンス変数の初期化などです。

<?php
class Product{
  private $name = null;
  private $size = null;
  private $price = null;

  function __construct($name, $size, $price){
    $this->name = $name;
    $this->size = $size;
    $this->price = $price;
  }
}

$product= new Product('シャツ', 'M', '1200円');


デストラクタ

デストラクタは、オブジェクトが参照されなくなった時に確実に実行されるメソッドです。

<?php
class Product{
  private $name = null;
  private $size = null;
  private $price = null;

  function __construct($name, $size, $price){
    $this->name = 'ズボン';
    $this->size = $size;
    $this->price = $price;
  }
  function getName(){
    return $this->name;
  }
  function getSize(){
    return $this->size;
  }
  function getPrice(){
    return $this->price;
  }
  function __destruct(){
    echo 'オブジェクトを破棄します'.PHP_EOL;
  }
}

$fruit = newProduct('シャツ', 'M', '1200円');
echo $fruit->getName().PHP_EOL;
echo '最後の行です'.PHP_EOL;

出力結果は以下のようになります。

ズボン
最後の行です
オブジェクトを破棄します

スクリプト終了と同時にオブジェクトが破棄されるため、デストラクタが呼び出され「オブジェクトを破棄します」と出力されます。

AWS構築サービスの全てをまとめた資料を公開中

ハックノート(TOWN株式会社)では、AWSの導入や構築支援を行っています。AWS導入メニューやサービス詳細、構成例や費用を掲載した資料をダウンロードできます。

AWSの新規導入やAWSへの移行を検討の際は、ぜひご参考ください。


APNコンサルティングパートナー

TOWN株式会社はAmazon公認コンサルティングパートナーです。