はじめに
PHPを学習していくと、オブジェクトだったりコンストラクタについてよく出てくる。
laravelを学習し始めてあまり聞かなくなったのだが、最近laravelでもコンストラクタだったりを使うようになったので復習がてら何なのかまとめてみる。
オブジェクトとは
PHPのオブジェクトは、クラスを定義してから、そのクラスを基にしてインスタンスを生成することで作成される。
オブジェクトを生成するためには、new演算子
を使用する。
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におけるコンストラクタは、オブジェクトの生成時に呼び出される特別なメソッド。
コンストラクタは、新しいオブジェクトが作成される際に、そのオブジェクトの初期化を行うために使用される。
コンストラクタは、クラス名と同じ名前のメソッドとして定義される。
コンストラクタには、通常、オブジェクトの初期化に必要なプロパティの値を引数として受け取ることができる。
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
を渡している。
このように、コンストラクタを使用することで、オブジェクトの初期化を簡素化し、プロパティの初期値を設定することができる。
また、コンストラクタを使用することで、オブジェクトの初期化を一貫して行うことができる。
以上。