0

を回避しようとしglobal variablesますが、今回は、値を HDD に書き込んだり、メモリに保存したりせずに、一時的に値を保存および変更する方法が必要です。

私がブレインストーミングをしていたとき、私はcookiessessionsmemcacheおよびを除外しlocal filesました。

これが私の簡単なアイデアです:

$_GLOBAL_DUMP = array();

class GlobalDump {
    public static function set($key, $value) {
        global $_GLOBAL_DUMP;
        $_GLOBAL_DUMP[$key] = $value;
    }

    public static function get($key) {
        global $_GLOBAL_DUMP;
        return $_GLOBAL_DUMP[$key];
    }
}

私はそれを次のように使用できます

GlobalDump::set("any_key", "my name is foo"); // foo.php
GlobalDump::get("any_key", "my name is bar"); // bar.php
echo GlobalDump::get("any_key"); // echos "my name is bar"

私は配列が好きではありません$_GLOBAL_DUMP。どう思いますか?十分にきれいにしますか、または回避策/代替手段はありますか?

4

1 に答える 1

2

$_GLOBAL_DUMP配列を静的変数としてクラスに追加できます。次に、次のようにクラス自体から静的変数にアクセスします。

GlobalDump::$_GLOBAL_DUMP
于 2013-09-21T12:13:48.420 に答える