以前PHPのコードをまとめておく機能「関数」を紹介しました。
今回は変数と関数をまとめておく「クラス」を紹介します。
クラスには大きく分けて3つのポイントがあります。1つずつ見ていきましょう。
PHPクラスの定義
まずはクラスの定義方法です。
クラス名は自由につけることが出来ます。
class クラス名 { $変数名 = 値; function 関数名(引数){ プログラム内容; return 式; } }
クラス内でまとめる変数を「メンバ変数」、関数は「メソッド」と呼びます。
関数と変数が理解できていれば、いたって分かりやすい構造です。
PHPオブジェクトの作成
続いてオブジェクトです。クラスを使うためには、オブジェクトの作成が必要になります。
クラスは関数と同じくプログラムをまとめたものなので複数回使われますが、その時にできた1つ1つの結果をオブジェクトと呼んでいます。
$オブジェクト名 = new クラス名;
オブジェクトは「new」を使って作り、変数に代入しておきます。
クラス内のメンバ変数、メソッドの扱い方
メンバ変数・メソッドを扱うときは、オブジェクトを作成した際に決めたオブジェクト名をもとに記述されます。
$オブジェクト名 -> メンバ変数名; $オブジェクト名 -> メソッド();
2つとも形は同じで「->」を使います。
これを使うことで定義したクラスのメンバ変数に値を代入したり、メソッドを呼び出したりすることが出来ます。
実際のPHPプログラムで見てみましょう
クラスを使ったプログラムを見てみましょう。
「クラスの定義」「オブジェクトの作成」「メンバ変数、メソッドの使い方」の3点にに注目してみてください。
<?php class sum { $num1; $num2; function calculation(){ return $this->num1 + $this->num2; } } $result = new sum; $result->num1 = 2; $result->num2 = 6; echo $result->calculation; ?>
ここでは、はじめにクラス「sum」を定義しています。プログラム内容はメンバ変数「num1」と「num2」の合計を出すものです。$thisはクラス内のメンバ変数やメソッドを使いたいときに利用します。
続いてクラス「sum」のオブジェクトを作成し、メンバ変数「num1」・「num2」に値(2、6)を代入しています。
最後にメソッドを利用し、echoで出力します。クラス「sum」内のメソッド(関数)が実行されるので「2+6」で「8」が出力されます。
最後に
メンバ変数・メソッドを扱う際に出てくる「->」が見慣れないので、プログラム内で見ると混乱してしまいがちです。3つのポイントをしっかり把握しておくことで、コードが読みやすくなると思います。