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】連想配列からkey(キー)のみ取得、もしくは値のみ配列で再取得する方法

2022.03.22
10338
PHP

【PHP】index配列から指定したキー数値の範囲だけ要素を取得・再配列する方法

2022.06.18
1683
PHP

PHPで現在日時を取得する方法

2023.04.05
792
PHP

【PHP】動的にテキストファイルを読み込み。内容を出力する方法

2023.03.24
1548