PHP的单例模式--三私一公
2015-06-26 10:40
501 查看
注意:
1.外部不可以实例化,因此内部实例化函数的类型必须为静态,在类未实例化之前就已经初始化;
2.静态函数只能访问静态变量,所以定义private static $instance;
3.静态变量的访问写法为:类名::$变量名,在类内部可以直接写self:$instance;
4.可以用instanceof这个关键字检测变量中存放的是不是当前的类实例。
1.外部不可以实例化,因此内部实例化函数的类型必须为静态,在类未实例化之前就已经初始化;
2.静态函数只能访问静态变量,所以定义private static $instance;
3.静态变量的访问写法为:类名::$变量名,在类内部可以直接写self:$instance;
4.可以用instanceof这个关键字检测变量中存放的是不是当前的类实例。
<?php //php下的单例模式 class Single { private static $instance; //防止在外部进行 实例化 new Single private function __construct() { } public static function getInstance() { if(self::$instance instanceof self) { self::$instance =new self; } return self::$instance; } //防止被克隆 $b=clone $a private function __clone() { } }
相关文章推荐
- 开发中遇到的各种坑--GitPull出现:/libexec/git-core/git-sh-setup: line 83: /bin/sed: Bad file number
- PHP 利用SPL标准库获取数组中最小的K个值
- Thinkphp关闭缓存的方法
- php设计模式 (总结)
- thinkphp计划任务使用cronRun-Thinkphp3.1版
- ZendStudio快捷键
- [转]服务端直接调用BOTP
- 60 php 业务记录入库为空
- WindowsServer 2008 AD搭建FTP隔离用户
- php-代码优化准则
- FTP服务器搭建
- RTP理论知识相关资料
- PHP 函数
- PHP开发
- php latrvel
- php数组转xml的递归实现
- STP中,交换机的端口ID为什么要配置为16的倍数?
- php中include文件变量作用域的研究
- PHP中文字符gbk编码与UTF-8编码的转换
- Thinkphp关闭缓存的方法