メニュー 表示 非表示

staticなメンバ・メソッド@PHP

クラスにstatciなメンバを宣言します。

static修飾子を付与します。
「::」で静的にクラスのメンバやメソッドにアクセスできます。

通常クラスは、インスタンス化しオブジェクトを生成してから、
アクセスを行う必要があります。
staticの場合ですと、必要がありません。

以下では、Commonクラスを作成しています。
staticなメンバである$instanceと、
staticなメソッドであるgetInstanceがあります。
getInstanceでCommonクラスを生成してCommonオブジェクトを取得します。

Common::getInstance()でCommonオブジェクトを取得します。
あとは、CommonクラスのメソッドsetStr、getStrを使用します。


<?php

    //クラス
class Common {
    
        //インスタンス
        private static $instance = null;
        
        //メンバ
        private $str = "";
        
        //コンストラクタ
        private function __construct(){
        }
        
        public static function getInstance(){
            //nullなら生成
            if(self::$instance === null){
                self::$instance = new self();
            }
            return self::$instance;
    }
        
        public function setStr($str) {
            $this->str = $str;
        }
        
        public function getStr() {
            return $this->str;
        }
    }
    

    //Coomonオブジェクト取得
$commonObjA = Common::getInstance();

    //文字セット
$commonObjA->setStr("AAA");
    
    //文字ゲット
print $commonObjA->getStr();
    
?>


Copyright (C) PHPのお勉強. All Rights Reserved.