« PHP:クラスの基本 1.基本概念 | メイン | PHP:strip_tags()関数 »

2005年10月05日

PHP:クラスの基本 2.基本構文

クラスの構文はユーザー定義関数の構文と非常によく似ています。
プログラム中でクラスをそのまま使用するわけではなく、実際にはクラスをコピーした「インスタンス」を使用してプログラムを構築します。
※インスタンスはプログラム中にいくつでも作成することができ、それぞれが独立したプロパティの値を保持できます。

■クラスの作成
class AdminData{
    var $adminId;
    var $adminName;
    function adminSet($id, $name){
        $this->adminId = $id;
        $this->adminName = $name;
        return true;
    }
    function returnAdminName(){
        return $this->adminName;
    }
}
・varで定義している部分はクラス内で使用するプロパティです。
・thisは自身を参照するという意味で使用します。オブジェクト名の代わりにthisを使用することにより、オブジェクト名に依存せずにクラスを利用できるようになります。

■インスタンスの作成
$admin1 = new AdminData;
・変数$admin1にはAdminDataのオブジェクトデータが格納され、インスタンスの作成が完了です。

■クラス内のメソッドにアクセス
$admin1->adminSet("stwing", "スタジオウイング");
(クラス内のプロパティにアクセスする際には、$admin1->adminId = 'studiowing';といった感じにします。)

print $admin1->returnAdminName();

※上記の結果、「スタジオウイング」を出力します。

■インスタンスを作成しないでクラス内のメソッドを呼び出す場合
AdminData::adminSet("stwing", "スタジオウイング");
print AdminData::returnAdminName();
※ただし、上記の場合はインスタンスを作成していないため、プロパティは保持されないので、何も出力されません。

投稿者 wing : 2005年10月05日 23:08

コメント