`
piperzero
  • 浏览: 3479751 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

php中注册器模式类的使用

 
阅读更多

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中注册器模式类用法实例分析

    主要介绍了php中注册器模式类用法,以实例形式分析了注册器读写类的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    php设计模式介绍

    《PHP设计模式介绍》第八章 迭代器模式 《PHP设计模式介绍》第九章 观测模式 《PHP设计模式介绍》第十章 规范模式 《PHP设计模式介绍》第十一章 章代理模式 《PHP设计模式介绍》第十二章 装饰器模式 《PHP设计...

    php基础设计模式大全(注册树模式、工厂模式、单列模式)

     注册树模式当然也叫注册模式,注册器模式。之所以我在这里矫情一下它的名称,是因为我感觉注册树这个名称更容易让人理解。像前两篇一样,我们这篇依旧是从名字入手。注册树模式通过将对象实例注册到一棵全局的对象...

    PHP设计模式之注册树模式分析

    注册树模式当然也叫注册模式,注册器模式。之所以我在这里矫情一下它的名称,是因为我感觉注册树这个名称更容易让人理解。像前两篇一样,我们这 篇依旧是从名字入手。注册树模式通过将对象实例注册到一棵全局的对象...

    php-7.0.20-nts-Win32-VC14-x64 php7.0资源下载

    PHP 7 中 use 可以在一句话中声明多个类或函数或 const 了: ? 1 2 3 4 &lt;?php use some/namespace/{ClassA, ClassB, ClassC as C}; use function some/namespace/{fn_a, fn_b, fn_c}; use const some/...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

     《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

     《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...

    PHP设计模式

    1、编程习惯 ...8、迭代器模式 9、观察者模式 10、规范模式 11、代理模式 12、装饰模式 13、适配器模式 14、Active Record模式 15、Table Data Gatway模式 16、数据映射模式 17、MVC模式 18、结束语

    Codelobster PHP Edition 5.0.2中文注册版.rar

    可以调试代码运行,设置断点调试URL及主页网址、内置多种解析引擎模式,在IE浏览器及Firefox中查看。可创建的项目包括:创建新建项目:创建新项目或打开任何现有的Joomla,WordPress的是,Drupal,CodeIgniter和其他...

    PHP和MySQL Web开发第4版pdf以及源码

    6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final关键字禁止继承和...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    史上最全韩顺平毕业班视频------这里只有10月份,8,9,11月份在另外一个文件下。 传智播客PHP就业班视频课程列表 ...8-11 3....8-11 4....8-11 5....8-12 1....8-12 2....8-12 3....10-30 4 vi编辑器使用 linux目录讲解 ...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    史上最全韩顺平毕业班视频------这里只有9月份,8,10,11月份在另外一个文件下。 传智播客PHP就业班视频课程列表 ...8-11 3....8-11 4....8-11 5....8-12 1....8-12 2....8-12 3....10-30 4 vi编辑器使用 linux目录讲解 ...

    PHP和MySQL WEB开发(第4版)

    6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final关键字禁止继承和重载 ...

    (全)传智播客PHP就业班视频完整课程

    非常实用 持之以恒才是王道! ...8-11 3....8-11 4....8-11 5....8-12 1....8-12 2....8-12 3....8-12 4....8-12 5....10-30 4 vi编辑器使用 linux目录讲解 10-4 1 课程回顾 10-4 2 js面向对象多态 10-4 3 js内部对象和系统函数 10...

    PHP和MySQL Web开发第4版

    6.4 使用类的属性 6.5 使用private和public关键字控制访问 6.6 类操作的调用 6.7 在PHP中实现继承 6.7.1 通过继承使用private和protected访问修饰符控制可见性 6.7.2 重载 6.7.3 使用final关键字禁止继承和...

    史上最全传智播客PHP就业班视频课,8月份视频

    史上最全韩顺平毕业班视频------这里只有8月份,9,10,11月份在另外一个文件下。 传智播客PHP就业班视频课程列表 ...8-11 3....8-11 4....8-11 5....8-12 1....8-12 2....8-12 3....10-30 4 vi编辑器使用 linux目录讲解 ...

    PHP商城系统 v2.0.4

    让模板制作更灵活无限级分类,自由控制扩展文章属性自由扩展,更具灵活性会员注册属性自由扩展 MVC开发模式,模块化开发更方便程序语言:PHP+MYSQL 模板自由卸载安装大家关心的百度和谷歌搜索引擎录取的问题,我们针对...

    php网络开发完全手册

    5.4.3 PHP类中的一些特殊方法 74 5.5 类的引用、扩展与继承 75 5.5.1 类的引用 75 5.5.2 类的扩展与继承 76 5.6 操作与调用 77 5.6.1 静态类的调用 77 5.6.2 实例类型的判断方法instanceof 78 5.6.3 对象的克隆 78 ...

Global site tag (gtag.js) - Google Analytics