PHP常见的六大设计模式,包括了单例模式、工厂模式、注册树模式、策略模式、适配器模式以及观察者模式。

单例模式的特征是“三私一公” ,可适用的场景有,创建唯一的数据库连接对象。

class Single{//私有一个静态变量,判断是否实例化private static $instan;//私有一个克隆方法,防止在对象外克隆private function __clone(){}/**私有一个构造方法,防止对象在外面被实例化(如果是protected,通过继承(extends)的子类也是可以实例化的)  __construct 魔术方法,当对象实例化后才会自动执行**/private function __construct(){$dsn = 'mysql:host=127.0.0.1;dbname=test';$username = 'root';$password = 'root';try{$this->db = new PDO($dsn,$username,$password);}catch(PDOException $e){die('数据库连接错误:'.$e->getMessage());}}//公开一个静态方法,方便在对象外调用public static function connect_database(){if(self::$instan == null){self::$instan = new self;}return self::$instan;}
}$db = Single::connect_database()->db;$sql = 'select * from student';foreach($db->query($sql) as $row){var_dump($row);
}

PHP 单例模式连接数据库相关推荐

  1. PHP单例模式连接数据库

    总体来说设计模式分为三大类:创建型模式.结构型模式.行为型模式,今天要说的时属于创建型模式里的单例模式. 单例模式通常用于在特定的情况下可以节省资源的消耗,使用较为普遍,例如同一页面对数据库的多次操作 ...

  2. python 单例模式连接数据库

    import pymysql class Con_db(object):db = [] # 设置连接池__instance = Nonedef __new__(cls, *args, **kwargs ...

  3. php引用数据库实例,PHP单例模式实例,连接数据库对类的引用

    //单例模式连接数据库 class pzhang{ static private $instance; private static $config; private $dbase = array( ...

  4. php 单利模式实例化,php-单例模式实现mysql实例化对象

    1.回顾 上篇学习了php一个实例:简单的文章管理系统 2.学习点 这篇将使用单例模式封装一个实现mysql的实例化对象类 3.实现类 3.1 配置文件 config.php 定义常量:主机地址,用户 ...

  5. app接口开发(php)

    1.JSON方式封装通信接口: 封装: response.php <?php // JSON方式封装通信接口 // 定义 response类 class Response {// 定义一个静态方 ...

  6. 鸡肋的PHP单例模式

    单例模式的要点有三个: 一是某个类只能有一个实例: 二是它必须自行创建这个实例: 三是它必须自行向整个系统提供这个实例. <?php /* 单例模式举例,其要点如下: * * 1. $_inst ...

  7. php单例模式的核心语句,PHP单例模式的核心思想

    Singleton Pattern(中文称单例模式),可以说是最容易理解的设计模式了,也充分体现了DRY (Don't Repeat Yourself)的思想. 单例模式的核心思想是:保证一个对象存在 ...

  8. 设计模式-----单例模式优缺点及使用场景

    1.什么是单例模式? 单例模式就是保证系统中一个类只有一个实例.也就是说只能自己new自己并且实例唯一并对外提供. 2.模式的作用及应用场景? 作用:解决一个全局使用的类,频繁创建和销毁.拥有对象的唯 ...

  9. python单例_python 单例模式

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

最新文章

  1. 注册报名丨2021 SLT CSRC 研讨会开幕在即,有哪些看点值得关注?
  2. C#中构造函数的作用
  3. 女孩都应该记住的几句英文
  4. [渝粤教育] 广东-国家-开放大学 21秋期末考试社会学概论10082k1
  5. C++推荐书籍从入门到进阶带你走上大牛之路(珍藏版)
  6. 【Linuxamp;Unix--open/close/write/read系统调用】
  7. 风靡业内的跨端开源框架 uni-app 入驻 GitCode
  8. Android—Socket服务端与客户端用字符串的方式互相传递图片
  9. Atitit mybatis topic file list Total 300ge (9+条消息)MyBatis框架核心之(五)注解使用resultMap及多表查询 - 弱弱的猿 - CSD
  10. 在谷歌云盘训练YOLOV5模型
  11. matlab中rgb2ycbcr函数,RGB转YCbCr
  12. 【Java】我的世界Java版外挂制作 [2] - 游戏内GUI
  13. 银行招考计算机专业考什么,银行笔试一般都考什么?
  14. Oracle数据库,创建表并给表、字段添加注释
  15. 美联储新型货币工具_2_新闻类
  16. 我心如水_Win8_PE_x64_x86_无忧启动终结版
  17. CTF中常见密码学(一)
  18. Holtek合泰单片机 《四》 从TM定时器中断到led灯1s闪烁
  19. 〖Python 数据库开发实战 - Python与MySQL交互篇⑬〗- 项目实战- 实现查询待审批新闻分页功能
  20. 阅读器的转换功能搬家了,你发现了吗?

热门文章

  1. visual studio如何给编辑区添加背景图片,修改字体大小主题
  2. ASP.NET 的特点
  3. 您或许需要扩充可点击区域的范围!
  4. 历史上15位知名的计算机科学家
  5. 图灵奖设立50周年,向伟大的计算机科学家们致
  6. 独立游戏 Godot游戏开发日志2游戏本地化对话和任务系统
  7. 百度seo点击工具_百度站长平台及百度统计工具对SEO优化有什么作用?
  8. 王者荣耀下路怎么打?老被敌方打野针对怎么翻盘?
  9. Unity 协程底层原理解析
  10. Tomcat 8080 端口被占用解决方案