本篇文章主要介紹php中註冊器讀寫類,感興趣的朋友參考下,希望對大家有所協助。
Registry.class.php
<?php/** * 註冊器讀寫類 */class Registry extends ArrayObject{ /** * Registry執行個體 * * @var object */ private static $_instance = null; /** * 取得Registry執行個體 * * @note 單件模式 * * @return object */ public static function getInstance() { if (self::$_instance === null) { self::$_instance = new self(); echo "new register object!"; } return self::$_instance; } /** * 儲存一項內容到註冊表中 * * @param string $name 索引 * @param mixed $value 資料 * * @return void */ public static function set($name, $value) { self::getInstance()->offsetSet($name, $value); } /** * 取得註冊表中某項內容的值 * * @param string $name 索引 * * @return mixed */ public static function get($name) { $instance = self::getInstance(); if (!$instance->offsetExists($name)) { return null; } return $instance->offsetGet($name); } /** * 檢查一個索引是否存在 * * @param string $name 索引 * * @return boolean */ public static function isRegistered($name) { return self::getInstance()->offsetExists($name); } /** * 刪除註冊表中的指定項 * * @param string $name 索引 * * @return void */ public static function remove($name) { self::getInstance()->offsetUnset($name); }}
需要註冊的類
test.class.php
<?phpclass Test{ function hello() { echo "hello world"; return; }} ?>
測試 test.php
<?php//引入相關類require_once "Registry.class.php";require_once "test.class.php";//new a object$test=new Test();//$test->hello();//註冊對象Registry::set('testclass',$test);//取出對象$t = Registry::get('testclass');//調用對象方法$t->hello();?>
總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。