static とすることで、クラスをインスタンス化しないでも変数を入れておけるようになった。
通常、クラスはインスタンス化しないとメモリにはクラスの実体は何も置かれないが、static 指定をすると、常にメモリに置いておいてくれる。
PHP5でメンバ変数にstatic属性をつけた例
class Test{
static $static_var = 1;
}
echo Test::$static_var; // 1 が出力される。
また、PHP4 では
class Test{
function hello(){
echo "hi";
}
}
Test::hello(); // 警告がでる
というのが普通に呼び出すことが出来ていましたが、PHP5ではメンバ関数に static をつけてやらなければいけないようになりました。
PHP5では、
class Test{
static function hello(){
echo "hi";
}
}
Test::hello();
のようにします。
スポンサードリンク
もどる