2010年 2月 17日 はてなブックマーク -
タグ: #PHP

PHP5で設定保存用Singletonクラス。
PHPにおいて、グローバル変数や、defineでグローバルな設定情報を保存してしまうと、グローバル領域が使われ、
変数名がぶつからないようにしても規模が大きくなると変数名がぶつかってしまって思わぬプログラムの誤動作をまねく危険性があります。

そこで、次のようなConfigクラスを定義。

<?php

class Config
{
    
private static $data = array();
    
    
private function __construct()
    {
    }

    
public static function get($key)
    {
        return 
self::$data[$key];
    }

    
public static function set($key$val)
    {
        
self::$data[$key] = $val;
    }
}
?>

そして、次のように使うことでConfigクラス内に変数を閉じ込め、グローバル領域を汚染することもありません。

<?php
Config::set(“key”, “value”); // 値を設定
echo Config::get(“key”); // 値を取得
?>

staticなメソッドなので、Configクラスのインスタンスを作成することなく、1行で値を取得できるのもいいですね。

PHP5で設定保存用Singletonクラス:phpspot開発日誌

staticなクラスを作成すればインスタンスを作ることなく動かせるんですね。


2年前 | | 2010年 2月 17日 | このエントリーを含むはてなブックマーク