クラス

PHPにおける**クラス(class)**は、オブジェクト指向プログラミング(OOP: Object-Oriented Programming)の基本要素であり、**データ(プロパティ)処理(メソッド)**を1つの単位としてまとめた構造です。クラスは、現実世界のモノや概念をプログラム上で表現するための「設計図」として機能します。


1. クラスの定義方法

PHPでクラスを定義するには、classキーワードを使用します。

php
class Car { public $color; public $brand; public function drive() { echo "車が走っています。"; } }

この例では、Car というクラスを定義しています。colorbrandは**プロパティ(属性)で、drive()メソッド(関数)**です。


2. オブジェクトの生成(インスタンス化)

クラスから具体的なオブジェクトを生成するには、newキーワードを使用します。

php
$myCar = new Car(); $myCar->color = "赤"; $myCar->brand = "トヨタ"; $myCar->drive(); // 「車が走っています。」と出力

このようにして、Carクラスから$myCarという**インスタンス(実体)**を作成し、プロパティやメソッドにアクセスします。


3. コンストラクタ(__construct)

オブジェクト生成時に自動的に実行される特別なメソッドです。

php
class Car { public $color; public $brand; public function __construct($color, $brand) { $this->color = $color; $this->brand = $brand; } public function drive() { echo "{$this->brand}{$this->color}の車が走っています。"; } } $myCar = new Car("青", "日産"); $myCar->drive(); // 「日産の青の車が走っています。」と出力

$thisは、現在のオブジェクト自身を指します。


4. アクセス修飾子(public, private, protected)

クラスのプロパティやメソッドにはアクセス制限をかけることができます。

  • public: どこからでもアクセス可能

  • private: クラス内からのみアクセス可能

  • protected: クラス自身および継承先のクラスからのみアクセス可能

php
class Car { private $engineStarted = false; public function startEngine() { $this->engineStarted = true; echo "エンジンが始動しました。"; } }

5. クラスの応用機能

  • 継承(extends): あるクラスをベースにして新しいクラスを作る

  • 抽象クラス(abstract)とインターフェース(interface)

  • トレイト(trait): 複数クラスで再利用できるメソッド群

  • 静的プロパティ・メソッド(static)


まとめ

PHPのクラスは、オブジェクト指向の考え方を実現するための基本的な単位であり、再利用性、保守性、拡張性を高めるために不可欠です。クラスを活用することで、大規模で複雑なアプリケーションでも整理された構造で開発することができます。

生成日:2025/05/03