PHPのオブジェクトとは?クラスから作る実体の使い方を解説
PHPでオブジェクト指向プログラミングを行う際に欠かせないのが オブジェクト です。
オブジェクトとは、「クラス」という設計図から作られる実体(インスタンス)のことを指します。
この記事では、PHPのオブジェクトの基本と、使い方をわかりやすく解説します。
オブジェクトとは?
オブジェクトとは、クラスで定義されたプロパティ(変数)やメソッド(関数)を持つ「実体」です。
クラスが設計図なら、オブジェクトはその具体的な製品にあたります。
クラスの定義とオブジェクトの生成
class Person {
public $name;
public function greet() {
echo "こんにちは、" . $this->name . "です。";
}
}
$taro = new Person(); // オブジェクトの生成
$taro->name = "太郎"; // プロパティの設定
$taro->greet(); // メソッドの呼び出し
new
キーワードを使って、クラスからオブジェクトを生成します。
オブジェクトのプロパティやメソッドには、->
演算子でアクセスします。
$thisキーワードの役割
$this
は「そのオブジェクト自身」を指す特別な変数です。
クラス内でプロパティやメソッドにアクセスする際に使います。
public function greet() {
echo "こんにちは、" . $this->name;
}
複数のオブジェクトを作る
同じクラスから、何体でも独立したオブジェクトを生成できます。
$taro = new Person();
$taro->name = "太郎";
$hanako = new Person();
$hanako->name = "花子";
$taro->greet(); // 太郎
$hanako->greet(); // 花子
オブジェクトの中身を確認する(デバッグ)
var_dump($taro);
var_dump()
を使うと、オブジェクトのプロパティや構造を確認できます。
プロパティ・メソッドの有無を調べる
property_exists()
:プロパティの存在確認
method_exists()
:メソッドの存在確認
if (property_exists($taro, "name")) {
echo "nameプロパティは存在します";
}
まとめ
- オブジェクトはクラスから作られる実体
new
を使ってオブジェクトを生成
->
でプロパティやメソッドにアクセス
$this
はそのオブジェクト自身を指す
var_dump()
や property_exists()
で確認・調査が可能
PHPのオブジェクトを使いこなすことで、データと機能を一つにまとめ、整理されたコードを書くことができます。
クラスと組み合わせて、オブジェクト指向の基本を実際に試してみましょう。