php设计模式-单例模式
2018-02-23 10:15
176 查看
所谓单例,一个类通过接口提供一个实例,不能通过new或者clone创建新的实例。
单例的实现关键,通过一个静态的方法 getInstance实现的,这个方法只返回该类的唯一实例,第一次调用该方法的时候,他创建一个实例,把他存在一个私有的静态变量中,下一次只需要把之前创建的实例返回,即可达到单例的效果
这里把构造函数和__clone方法声明为private是防止使用者,不小心用new或者clone生成新的实例
单例的实现关键,通过一个静态的方法 getInstance实现的,这个方法只返回该类的唯一实例,第一次调用该方法的时候,他创建一个实例,把他存在一个私有的静态变量中,下一次只需要把之前创建的实例返回,即可达到单例的效果
class Log { static private $instance = NULL; private function __construct(){ } private function __clone(){ } function log( $str ) { echo $str . PHP_EOL; } static function getInstance(){ if( self::$instance == NULL ) { self::$instance = new Log(); } return self::$instance; } } Log::getInstance()->log( "warning info" ); Log::getInstance()->log( "error info" ); //下面的报错 new Log();
这里把构造函数和__clone方法声明为private是防止使用者,不小心用new或者clone生成新的实例
相关文章推荐
- php设计模式之单例模式
- php 常用设计模式
- 用星际学习PHP设计模式3-抽象工厂模式[转]
- [设计模式]head first 设计模式之PHP实现 第一章
- 【PHP】设计模式--单例模式
- 五种常见的 PHP 设计模式
- 实例讲解PHP设计模式编程中的简单工厂模式
- PHP设计模式之单例模式
- PHP设计模式系列 - 适配器
- 转载:php设计模式 Mediator (中介者模式)
- PHP设计模式漫谈之命令模式
- PHP设计模式之迭代器模式
- 结合PHP -----浅谈设计模式之单件模式
- [置顶] php设计模式之观察者模式
- php设计模式之单例模式
- PHP 设计模式之观察者模式
- PHP 面向对象编程和设计模式 (1/5) - 抽象类、对象接口、instanceof 和契约式编程
- php简单实现单态设计模式的方法分析
- PHP设计模式——适配器模式(Adapter)
- php 实现设计模式之 建造者模式