Written by Kasumi

【PHP】コンストラクタ関数を使って、クラスのインスタンス生成時に変数を初期化する方法

PHPでコンストラクタ関数を使い、クラスのインスタンス化時に変数を初期化。

引数に渡した任意の値を変数に設定したい。

本記事ではこのような悩みを解決します。

コンストラクタ関数を使って初期化する

<?php 
  // クラス
  class User {
    
    //変数
    public $name;
    public $age;

    //コンストラクタ関数 変数を初期化。
    public function __construct($name, $age) {
      $this->name = $name;
      $this->age = $age;
    }
    
    //メソッド
    public function intro() {
      echo $this->name . 'です。' . '年齢は' . $this->age . '歳です。';
    }
  }

  //クラスをインスタンス化。
  $user = new User('kasumi','30');
  // メソッドを呼び出す。
  $user->intro();
  //kasumiです。年齢は30歳です。
?>

コンストラクタ関数を使って、変数を初期化するコード例です。

コンストラクタ関数の使い方は以下の通りです。

public function __construct(引数) {
$this->変数名 = 引数;
}

コンストラクタ関数は、クラスの定義の中でfunctionの後に __constructという名前で定義されます。

コンストラクタ関数内で$thisを使い変数を呼び出し。値を引数に設定する事でインスタンス生成時に変数を初期化。

引数に設定した任意の値を変数に代入できます。

本コード例ではコンストラクタ関数でname変数とage変数を初期化。

インスタンス時に任意の名前と年齢を引数に設定。

上記値を使ったメソッドを呼び出してます。

以上で実装完了です。

まとめ

PHPでコンストラクタ関数を使い、クラスのインスタンス生成時に変数を初期化する方法について紹介しました。

以上で解説を終わります。

目次

関連記事

PHP

【PHP】配列から指定した数だけランダムに要素を取り出す方法

更新日:2023.03.12
1173
PHP プログラミング

【php】現在のディレクトリURLを取得し、条件分岐する方法

2021.10.28
5643
PHP

【PHP】配列の値を複数の変数に代入する方法【list関数を使おう】

2022.06.14
2246
PHP

【PHP】インターフェイス(interface)を定義する方法

2023.04.08
1382