本篇文章主要介绍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
<?php
class 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();
?>总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
立即学习“PHP免费学习笔记(深入)”;
2088shop商城购物系统是商城系统中功能最全的一个版本:非会员购物、商品无限级分类、不限商品数量、商品多级会员定价、上货库存、Word在线编辑器、订单详情销售报表、商品评论、留言簿、管理员多级别、VIP积分、会员注册积分奖励、智能新闻发布、滚动公告、投票调查、背景图片颜色更换、店标上传、版权联系方式修改、背景音乐(好歌不断)、广告图片支持Flash、弹出浮动广告、搜索引擎关健词优化、图文友情联
0
相关推荐:
PHP函数import_request_variables()用法及实例分析
PHP使用stream_context_create()模拟POST/GET请求的方法及实例分析
PHP函数nl2br()与自定义函数nl2p()换行用法及实例分析
以上就是php中注册器读写类的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号