『PHP基礎講座⑦』では、クラス、インスタンス、プロパティ、メソッドについて解説していきます。
こちらが最後のカリキュラムです。
クラスとは
クラスを使うと、複数の関数などを1つにまとめておくことができます。
例えば、以下のように4つの関数が定義してあるコードがあったとします。
<?php
function startEngine() {
echo "エンジンをかけます";
}
function stopEngine() {
echo "エンジンを切ります";
}
function accelerate() {
echo "加速します";
}
function brake() {
echo "ブレーキをかけます";
}
?>
クラスを使えば、上記のような複数の関数を以下のように1つにまとめることができます。
<?php
class Car {
public function startEngine() {
echo "エンジンをかけました";
}
public function stopEngine() {
echo "エンジンを切りました";
}
public function accelerate() {
echo "加速します";
}
public function brake() {
echo "ブレーキをかけます";
}
}
?>
クラスを別のものに例えるなら『自動車の設計図』のようなものになります。
では、そのクラスのコードを解説していきます。
クラスの書き方
クラスを定義するときは以下のようにclass
を使います。
<?php
class クラス名 {
クラスの内容
}
?>
※クラスの名前は必ず大文字で始めなければいけません
実際にWordPressのオリジナルテーマを制作するときは、クラスを定義することは稀です。
ただ、クラスの知識は次から解説していく『インスタンス』『プロパティ』『メソッド』を理解するために
必要な前提知識となるため紹介しました。
では、続いて『インスタンス』について解説していきます。
インスタンスとは
クラスの中の変数や関数を使うにはインスタンスというものを生成する必要があります。
先ほどクラスは『自動車の設計図』と言いましたが、
インスタンスは『設計図をもとに作った自動車』になります。
では、インスタンスのコードを解説していきます。
インスタンスを生成する方法
インスタンスは以下のように、new クラス名()
と書くことで生成することができます。
<?php
class クラス名 {
クラスの内容
}
$変数名 = new クラス名();
?>
生成したインスタンスは、基本的に変数に定義します。
この構文を見ただけだと、
「どんなときに使うの?」と思うかもしれないので、具体的な活用例は以下のとおりとなります。
<?php
class Car {
クラスの内容
}
$car1 = new Car();
$car2 = new Car();
$car3 = new Car();
?>
上記のコードは、「設計図(クラス)をもとに、3つの自動車(インスタンス)を作る」という処理になります。
実際にWordPressのオリジナルテーマを制作するときに使用するクラスは、
あらかじめWordPressの内部で定義されているWP_Query
というものしか基本的には使いません。
そのため、「インスタンスを生成するときはこんな書き方をするのか〜」くらいのざっくりとした理解で問題ないです。
では、続いて『プロパティ』について解説していきます。
プロパティとは
インスタンスが持っている変数のことをプロパティといいます。
これまででクラスは『自動車の設計図』、インスタンスは『設計図をもとに作った自動車』と例えてきました。
その流れでプロパティを例えるなら『自動車の特徴や仕様』になります。
自動車の特徴や仕様とは、エンジンの種類、車体の素材、タイヤのサイズなどのことです。
では、プロパティのコードを解説していきます。
プロパティの書き方
プロパティは以下のように、public $変数名
とすることで定義できます。
<?php
class クラス名 {
public $変数名;
}
?>
実際にWordPressのオリジナルテーマを制作するときは、クラスと同様にプロパティを定義することは稀です。
ただ、プロパティの知識があると、次から解説していく『メソッド』を理解しやすくなるため紹介しました。
メソッドとは
インスタンスが持っている関数のことをメソッドといいます。
これまででクラスは『自動車の設計図』、
インスタンスは『設計図をもとに作った自動車』、
プロパティは『自動車の特徴や仕様』と例えてきました。
この流れでメソッドを例えるなら『自動車が実行できる動作や機能』になります。
自動車が実行できる動作や機能とは、エンジンの始動、加速、減速、停止、ライトのON/OFFなどです。
では、メソッドのコードを解説していきます。
メソッドの使い方
メソッドは以下のように、->
を使用することで実行できます。
<?php
class クラス名 {
クラスの内容
}
$変数名 = new クラス名();
$変数名 -> 関数名();
?>
上記の構文の具体的な活用例は以下のとおりです。
<?php
class Car {
// 定義されているメソッド
public function startEngine()
{
echo "エンジンをかけます";
}
public function stopEngine()
{
echo "エンジンを切ります";
}
}
$car1 = new Car();
$car1->startEngine(); // 出力結果:エンジンをかけます
?>
※メソッドの定義の仕方については理解しなくてもOKです
上記のコードを日本語に変換すると以下のようになります。
自動車の設計図(クラス)を作成
↓
自動車(インスタンス)を生産
↓
生産した自動車の機能(メソッド)を実行
まとめ
各用語の覚え方
今回紹介した内容は理解しづらかったかもしれませんが、以下のような感じで簡単に覚えてもらえばOKです。
※実際にWordPressオリジナルテーマ制作で使用するものは以下でまとめてある『インスタンスの生成』と『メソッドの使用』が主になります。
インスタンスを生成する方法
インスタンスはnew クラス名()
と書くことで生成することができます。
// 基本の構文
<?php
$変数名 = new クラス名();
?>
// 具体例
<?php
$car1 = new Car();
?>
メソッドの使い方
メソッドは->
を使用することで実行できます。
// 基本の構文
<?php
class クラス名 {
クラスの内容
}
$変数名 = new クラス名();
$変数名 -> 関数名();
?>
// 具体例
<?php
class Car {
// 定義されているメソッド
public function startEngine()
{
echo "エンジンをかけます";
}
public function stopEngine()
{
echo "エンジンを切ります";
}
}
$car1 = new Car();
$car1->startEngine(); // 出力結果:エンジンをかけます
?>