设计模式之单例(PHP实现)
来源:互联网 发布:学生体质监测数据上报 编辑:程序博客网 时间:2024/06/06 09:50
自动载入的类和上文工厂一样 这里是工厂+单例
单例 防止一次执行实例化多次同一个类 造成资源浪费。
实现方法:在被实例化的类 若果属性不存在 写一个静态方法实例化自己,保存到对象属性中。存在直接返回。
最好写个私有构造函数,防止不注意的时候被外部实例化。
index.php
<?phpdefine('BASEDIR',__DIR__);include BASEDIR.'/Core/Loader.php';spl_autoload_register('\\Core\\Loader::autoload');$db=Core\Factory::createDatabases();$db->conn();?>
Databases.php
<?phpnamespace Core;class Database{ protected static $db; private function __construct(){ } public static function getInstance(){ if(self::$db){ return self::$db; }else{ self::$db=new self(); return self::$db; } } public function conn(){ echo "this is a method of connect database;"; }}?>
<?phpnamespace Core;class Factory{ public static function createDatabases(){ $db=Database::getInstance(); return $db; }}
0 0
- 设计模式之单例(PHP实现)
- PHP设计模式之单例模式实现
- php设计模式之单例模式
- PHP设计模式之:单例模式
- PHP设计模式之单例模式
- PHP 设计模式之单例模式
- PHP设计模式之:单例模式
- php设计模式之单例模式
- PHP设计模式之:单例模式
- PHP设计模式之:单例模式
- PHP设计模式之:单例模式
- php设计模式之单例模式
- PHP设计模式之:单例模式
- PHP设计模式之:单例模式
- PHP设计模式之单例模式
- PHP设计模式之单例模式
- PHP设计模式之:单例模式
- PHP设计模式之单例模式
- C++中拷贝(复制)构造函数和赋值运算符重载函数
- Spark thriftserver连elasticsearch
- iOS 常见错误总结(1)
- treeview 的一点用法
- spring特性1-依赖注入
- 设计模式之单例(PHP实现)
- GCC安装
- 轻松搞定面试中的二叉树题目
- EasyUI Datagrid 用户列表鼠标悬停/离开数据行
- gdbserver调试
- android平台下可以播放h264格式的rtsp,rtmp流的播放器
- storm-kafka常见问题(更新中)
- iOS8 UIAlertView键盘闪一下的问题
- 用递归法显示某盘的所有文件