搞定,吃饭

<?php
/*
The purpose of singleton pattern is to restrict instantiation of class to a single object. It
is implemented by creating a method within the class that creates a new instance of
that class if one does not exist. If an object instance already exists, the method simply
returns a reference to an existing object.
*/

class Logger {
    private static $instance;

    public static function getInstance() {
        if (!isset(self::$instance)) {
            self::$instance = new self;
        }
        return self::$instance;
    }

    public function logNotice($msg) {
        return 'logNotice: ' . $msg . '<br/>';
    }

    public function logWaring($msg) {
        return 'logWaring: ' . $msg . '<br/>';
    }

    public function logError($msg) {
        return 'logError: ' . $msg . '<br/>';
    }
}

echo Logger::getInstance()->logNotice('test-log-notice');
echo Logger::getInstance()->logWaring('test-log-waring');
echo Logger::getInstance()->logError('test-log-error');
?>

最新文章

  1. Java 程序优化 (读书笔记)
  2. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要三
  3. 将packages/apps/下的app导入eclipse
  4. java -jar jenkins.war
  5. 译:什么是ViewData的, ViewBag和TempData? - MVC为当前和后续请求之间传递数据的三种方法
  6. Train Problem I (HDU 100题纪念)
  7. 数据库SQL 查询
  8. centos下网络的基本配置方法讲解
  9. 跨越跳板机传文件nc
  10. C#反射实例应用--------获取程序集信息和通过类名创建类实例
  11. 【技术宅11】php入门运算
  12. Linux shell入门基础(二)
  13. WinForm设置控件焦点(转)
  14. websocket 项目应用
  15. JS类继承常用方式发展史
  16. CRC 校验
  17. AI移动自动化测试框架设计(解读)
  18. 第二周 数据分析之展示 Matplotlib基础绘图函数实例
  19. How to remove ROM in MAME
  20. Linux命令:pigz多线程压缩工具【转】

热门文章

  1. 如何保证redis数据都是热点数据
  2. Golang(七)golang.org/x/time/rate 实现频率限制
  3. spark 资源动态分配
  4. 关于Class: ES6 JavaScript的class的静态方法、属性和实例属性。
  5. NanoPi NEO Plus2开发环境搭建
  6. 微信公众号 --- 获取access_token
  7. trie、FSA、FST(转)
  8. js 加密方法Encrypt
  9. hbase-indexer官网wiki
  10. 汉诺(hanio)塔问题