PHP もオブジェクト指向でいこう!~単純なクラスの定義
PHP でのクラスの定義は JavaScript と違ってとても素直です。class キーワードで定義します。
例えば車を表すクラスは、次のように書けます。(中身は空っぽですが)
<?php class Car { } ?>
この節では少しだけ発展させてみましょう。
車の名前をプロパティとして持たせ、その値を設定・取得するメソッドを追加してみましょう。 このような役割のメソッドをアクセサメソッドといいます。
<?php class Car { private $_name; public function getName() { return $this->_name; } public function setName($n) { if(!is_string($n) || strlen($n) == 0){ throw Exception("Invalid name value."); } $this->_name = $n; } } ?>
名前を表すプロパティ $_name は private として定義されています。 内部データを隠蔽しています。 それへのアクセスはアクセサメソッドを通して行います。これによって、 クラス内部のデータを常に正しい値に保つのです。