2012-04-18 27 views
3

我想知道Zend_Registry是否使用phpMemory,會話或其他方法。Zend Registry如何工作

這個問題更多的是我的好奇心。

Zend_Registry::set('test', array()); 
+1

你可以閱讀[代碼](http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Registry.php)和爲自己工作:) – vascowhite 2012-04-18 12:34:40

+2

或者你也可以[閱讀手冊](http://framework.zend.com/manual/en/zend.registry.html):) – Liyali 2012-04-18 12:35:33

+0

這是一個有效的和不平凡的問題特別是如果剛開始使用Zend。即使在文檔中,註冊表只是ArrayObject的一個輕量級包裝,它並不是顯而易見的。 – 2012-06-26 16:27:08

回答

6

Zend_Registry是一個包裝static存儲數組的類型變量。維基百科

在計算機編程

靜態變量認定中,靜態變量是一個已經 靜態分配的變量 - 其壽命跨越 該程序的整個運行延伸。

存儲在Zend_Registry中的類似變量擴展了整個程序的運行。

一個簡單的我的註冊表類

class My_Registry 
    { 
    static $storage; 

    public static function set($key,$value) 
    { 
    self::$storage[$key] = $value; 
    } 


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

Zend_Registry是非常簡單,只是一個陣列(從ArrayObject繼承)。它不提供持久存儲,因此不需要使用會話或文件。