1. 云栖社区>
  2. PHP教程>
  3. 正文

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

作者:用户 来源:互联网 时间:2017-12-01 12:40:19

模式

php中注册器模式类用法实例分析 - 摘要: 本文讲的是php中注册器模式类用法实例分析, 本文实例讲述了php中注册器模式类用法。分享给大家供大家参考,具体如下:注册器读写类Registry.class.php<?php/** * 注册器读写类 */class Registry extends ArrayObject


本文实例讲述了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

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

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索模式 ,以便于您获取更多的相关知识。