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程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 注册器
模式类
php 注册器模式、注册器模式、iframe用法实例、java枚举类的用法实例、java map用法 实例,以便于您获取更多的相关知识。

时间: 2024-08-04 11:52:08

php中注册器模式类用法实例分析_php技巧的相关文章

php自动载入类用法实例分析_php技巧

本文实例讲述了php自动载入类用法.分享给大家供大家参考,具体如下: <?php //function __autoload($class_name) { // require_once $class_name . '.php'; //} spl_autoload_register(array("core",'autoload'));//当实例化类的时候,自动调用core类中的autoload()方法来载入类 //也可以使用__autoload()来实现,但是php新版本建议使用

php文件缓存类用法实例分析_php技巧

本文实例讲述了php文件缓存类用法.分享给大家供大家参考.具体如下: <?php /** * 简单的文件缓存类 * */ class XZCache{ // default cache time one hour var $cache_time = 3600; // default cache dir var $cache_dir = './cache'; public function __construct($cache_dir=null, $cache_time=null){ $this-

php中注册器模式类的使用

php中注册器模式类的使用     注册器读写类 Registry.class.php     <?php/**  * 注册器读写类  */class Registry extends ArrayObject{    /**      * Registry实例     *     * @var object      */    private static $_instance = null;     /**     * 取得Registry实例     *      * @note 单件模式

PHP中STDCLASS用法实例分析_php技巧

本文实例讲述了PHP中STDCLASS用法.分享给大家供大家参考,具体如下: PHP中STDCLASS在我们开发应用中使用到的不多,但是PHP中STDCLASS作用是非常的大的,下面我们一起来看PHP中STDCLASS的用法. 在WordPress中很多地方使用stdClass来定义一个对象(而通常是用数组的方式),然后使用get_object_vars来把定义的对象『转换』成数组. 如下代码所示: $tanteng = new stdClass(); $tanteng->name = 'tan

php中mkdir函数用法实例分析_php技巧

本文实例分析了php中mkdir函数用法.分享给大家供大家参考.具体分析如下: mkdir()语法:bool mkdir(字符串目录,诠释权限)dirThe新directory.permissionsOctal数指定为新的directory.Creates一个新的目录的权限. mkdir()创建一个具有指定权限的目录,权限是,作为文件模式()和fileperms()相同的形式,在成功返回真,如果发生错误,则返回FALSE. php范例代码如下: 复制代码 代码如下: <?php if (mkdi

php类常量用法实例分析_php技巧

本文实例讲述了php类常量用法.分享给大家供大家参考.具体如下: <?php /** * PHP类常量 * * 类常量属于类自身,不属于对象实例,不能通过对象实例访问 * 不能用public,protected,private,static修饰 * 子类可以重写父类中的常量,可以通过(parent::)来调用父类中的常量 * 自PHP5.3.0起,可以用一个变量来动态调用类.但该变量的值不能为关键字(如self,parent或static). */ class Foo { // 常量值只能是标量

php中strlen和mb_strlen用法实例分析_php技巧

本文实例分析了php中strlen和mb_strlen用法.分享给大家供大家参考,具体如下: 首先看如下代码(文件编码utf8): <?php $utf8_string = "abcd我你他她它"; var_dump(strlen($utf8_string)); var_dump(mb_strlen($utf8_string, 'gb2312')); var_dump(mb_strlen($utf8_string, 'utf8')); var_dump(mb_strlen($ut

javascript中innerText和innerHTML属性用法实例分析_javascript技巧

本文实例讲述了javascript中innerText和innerHTML属性用法.分享给大家供大家参考.具体分析如下: 几乎所有DOM元素都有innerText,innertHTML属性(注意大小写),分别是元素标签内 的文本表示形式和HTML源代码,这两个属性是可读可写的 innerHTML也可以取代createElement,属于简单,粗放型,后果自负的创建 <html xmlns="http://www.w3.org/1999/xhtml"> <head>

php中get_defined_constants函数用法实例分析_php技巧

本文实例讲述了php中get_defined_constants函数用法.分享给大家供大家参考.具体分析如下: get_defined_constants ( PHP 4中 > = 4.1.0 , PHP 5中) get_defined_constants -返回一个关联数组的名字所有的常量和他们的价值观 描述 阵列get_defined_constants ( [布尔$归类] ) 返回名称和值的所有当前定义的常量.这包括设立的扩展以及创建的define()函数. 参数 分类 造成这个函数返回多