クラス定義
クラス名を「hoge」とすると、
1 2 |
class hoge{ } |
「fuga」クラスを継承させる場合
1 2 |
class hoge extends fuga{ } |
メンバ変数(プロパティ)定義
PHP 4では、メンバ名を「v」とすると、
1 2 3 |
class hoge{ var $v = "123"; //定数でのみ初期化可能 } |
PHP 5では、C++のようにpublic, protected, privateで宣言する。明示しない場合はpublicになる。
1 2 3 4 5 |
class hoge{ public $v; protected $w; private $x; } |
メソッド定義
メソッド名を「f」すると
1 2 3 4 |
class hoge{ function f(){ } } |
PHP 5では抽象クラス宣言も可能
1 2 3 |
abstract class hoge{ abstract function f(); // 実装は定義できない } |
また、PHP 5ではC++のようにpublic, protected, privateが使用できる。明示しない場合はpublic。
1 2 3 4 5 |
abstract class hoge{ public function f(); protected function g(); private function h(); } |
メソッド内からメンバやメソッドを呼ぶ場合、「this」を使う。
1 2 3 4 5 6 |
class hoge{ function f(){ $this->hoge(); // メソッド $this->hoge; // メンバ変数 } } |
オブジェクトの作成・削除
作成には「new演算子」を使用する。
1 |
hoge $theHoge = new hoge(); |
hogeの後の()は無くても良いようです。
PHP 4ではクラス名と同じ名前のメソッドがコンストラクタ代わり。
PHP 5では__construct()が呼ばれる。
削除は、、、自動で?PHP 5ではどの変数からも参照されなくなったオブジェクトには__destruct()が送信される。