分析php中注册器模式类用法实例
2019-12-02 16:00:15来源:爱站网 阅读 ()
注册模式很容易理解,它经常在PHP框架中使用,在一些较大的PHP框架中,一些常见的类实例将在初始化期间放入寄存器中,现在就让爱站技术频道小编给我们分析php.html="" tags="">php.html" target="_blank">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中注册器模式类用法实例,有没有其他你感兴趣的知识呢?爱站技术频道应有尽有。
原文链接:https://js.aizhan.com/develop/php/10458.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:php邮件发送的两种方式
下一篇:php cc攻击代码与防范方法
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
