0
0

More than 1 year has passed since last update.

PHPにおけるオブジェクトとコンストラクタについて復習する

Posted at

はじめに

PHPを学習していくと、オブジェクトだったりコンストラクタについてよく出てくる。
laravelを学習し始めてあまり聞かなくなったのだが、最近laravelでもコンストラクタだったりを使うようになったので復習がてら何なのかまとめてみる。

オブジェクトとは

PHPのオブジェクトは、クラスを定義してから、そのクラスを基にしてインスタンスを生成することで作成される。
オブジェクトを生成するためには、new演算子を使用する。

test.php
class Person {
  // プロパティの定義
  public $name;
  public $age;
  
  // メソッドの定義
  public function sayHello() {
    echo "Hello, my name is " . $this->name . " and I am " . $this->age . " years old.";
  }
}

// Personオブジェクトの生成
$person1 = new Person();

// プロパティへのアクセスと値の設定
$person1->name = "John";
$person1->age = 30;

// メソッドの呼び出し
$person1->sayHello();

Personクラスを定義し、$name$ageの2つのプロパティを持ち、sayHello()メソッドを定義する。

次に、$person1という名前のPersonオブジェクトを生成し、そのプロパティ$name$ageに値を設定している。
最後に、$person1オブジェクトのsayHello()メソッドを呼び出して、中身を出力する。

このように、オブジェクトを生成して、そのプロパティに値を設定し、そのメソッドを呼び出すことで、オブジェクトに対して動作を指示することができる。

コンストラクタとは

PHPにおけるコンストラクタは、オブジェクトの生成時に呼び出される特別なメソッド。
コンストラクタは、新しいオブジェクトが作成される際に、そのオブジェクトの初期化を行うために使用される。

コンストラクタは、クラス名と同じ名前のメソッドとして定義される。
コンストラクタには、通常、オブジェクトの初期化に必要なプロパティの値を引数として受け取ることができる。

test.php
class Person {
  public $name;
  public $age;
  
  // コンストラクタの定義
  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
  
  public function sayHello() {
    echo "Hello, my name is " . $this->name . " and I am " . $this->age . " years old.";
  }
}

// Personオブジェクトの生成
$person1 = new Person("John", 30);

// メソッドの呼び出し
$person1->sayHello();

Personクラスに__construct()メソッドを追加し、$name$ageの2つの引数を受け取って、それぞれのプロパティに値を設定する。
$person1オブジェクトを生成する際に、引数として"John"30を渡している。

このように、コンストラクタを使用することで、オブジェクトの初期化を簡素化し、プロパティの初期値を設定することができる。
また、コンストラクタを使用することで、オブジェクトの初期化を一貫して行うことができる。

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0