首页建站经验 php中注册器模式类用法实例分析

php中注册器模式类用法实例分析

本文实例讲述了php中注册器模式类用法。分享给大家供大家参考,具体如下:注册器读写类Registry.class.php测试 test.php希望本文所述对大家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程序设计有所帮助。

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/18926.html
上一篇smarty简单应用实例
下一篇 删除购买记录_ECSHOP商品页模板修改
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部