Web/DB プログラミング徹底解説

ホーム > PHP プログラミング > PHP もオブジェクト指向でいこう!~単純なクラスの定義

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 として定義されています。 内部データを隠蔽しています。 それへのアクセスはアクセサメソッドを通して行います。これによって、 クラス内部のデータを常に正しい値に保つのです。