PHP-单例模式
来源:互联网 发布:angular.js介绍 编辑:程序博客网 时间:2024/05/20 05:10
概念
通过单例模式可以保证系统中一个类只有一个实例单例模式分3种:懒汉式单例、饿汉式单例、登记式单例。特点:只能有一个实例;必须自行创建这个实例;必须给其他对象提供这个实例;
应用场景
数据库使用。
实例代码
实现步骤: 1、封锁new操作,protected __construct();私有化构造函数;这样外部无法进行实例化,或者private 2、类内部留一个接口来进行实例化对象,静态方法; public static function getIns(){ return new self();} 3、预先判断实例,有就进行返回,没有实例就进行实例化;保证一个实例化 if(!self::$ins === null) self::$ins = new self(); return self::$ins; 保证同一个对象。 4、防止被继承,使用final class single{}; 构造方法前加final:则方法不能背覆盖 final protected function __construct(); 类前加final,则类不能被继承。 5、防止被clone:$s1 = single::getIns();$s2 = clone $s1; 禁止克隆: final protected function __clone(){};
示例代码
class single{ private static $ins = null; private final function __construct() {} private function __clone(){}; public static function getIns(){ if(self::$ins === null) self::$ins = new single(); return self::$ins; }}
0 0
- php单例模式
- php单例模式
- PHP单例模式
- PHP单例模式
- PHP单例模式
- php 单例模式
- php单例模式
- PHP 单例模式
- PHP 单例模式
- php 单例模式
- php单例模式
- PHP单例模式
- php单例模式
- php单例模式
- PHP单例模式
- php单例模式
- php单例模式
- PHP单例模式
- cocoapods往svn上传代码的正确姿势
- nyoj28_大数阶乘
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- 是应该坚持自己,还是听别人的建议?
- Android Nougat多窗口简析
- PHP-单例模式
- [vijos1028] 魔族密码
- 向字符变量赋予整数
- PHP程序自杀
- 布局优化偏------------- include、merge 、ViewStub
- 虚拟机安装centos7后出现的问题
- C++初级主题--(4)引用
- [Android 开发工具] 网络抓包Charles
- JavaScript常用对象