php中注册器模式类用法实例分析
发布:smiling 来源: PHP粉丝网 添加日期:2021-06-24 11:20:41 浏览: 评论:0
这篇文章主要介绍了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();
- ?>
Tags: php注册器模式类
- 上一篇:一个简单至极的PHP缓存类代码
- 下一篇:PHP 微信支付类 demo
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)