PHP有哪些设计模式
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"PHP有哪些设计模式",在日常操作中,相信很多人在PHP有哪些设计模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PHP有哪些设计模式"的疑惑有所帮
千家信息网最后更新 2025年11月07日PHP有哪些设计模式
这篇文章主要介绍"PHP有哪些设计模式",在日常操作中,相信很多人在PHP有哪些设计模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PHP有哪些设计模式"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
设计模式非常的多,这里介绍单例模式,工厂模式,组合模式,策略模式4种模式
/** * 单例模式 * @author YangYang <1812271619@qq.com> * 可以想成在一次http请求中只产生该类的一个对象(即只new classname一次) * 经典的例子是数据库连接(redis,mongodb,memcache等) * 在一次http请求中我们可能需要对数据库做增删改查多条sql操作 * 但是如果一次http请求中每执行一条sql我们就mysql_connect(),很明显会导致服务器资源的浪费 * 为了节约资源,就可以通过单例模式来实现一次http请求只做一次mysql_connect() * 即将mysql_connect()放在类方法的__construct中,并将__construct方法做成私有, * 这样只能通过getInstance()方法来获得mysql_connect()的资源连接符 * getInstance()方法中判断是否已经存在myql连接符,如果存在就直接返回该连接符 * 否则new classname()即调用了__construct方法执行了mysql_connect()得到了资源连接符,并返回连接符 * 因为现在PHP已不再建议直接使用mysql函数进行数据库操作,而是建议通过PDO进行数据库操作,所以这里写一个简易PDO连接的单例模式 * 这里只是讲解单例原理,数据库的防sql注入等问题不做考虑 * 准备工作 数据库:test 数据表:user 字段:id name 记录:1 CodeAnti * 最终运行结果: 数据表user中id=1这条记录被删除 */class SinglePDO{ private static $_instance = null; private $_pdo; //私有,防止外部直接实例化new SinglePDO(...) private function __construct($dsn,$dbUser,$dbPassword) { try{ $this->_pdo = new PDO($dsn,$dbUser,$dbPassword); $this->_pdo->exec('set names utf8'); }catch(PDOException $e){ die("Error:{$e->getMessage()}"); } } //私有,防止克隆 private function __clone(){} //获取连接实例 public static function getInstance($dsn,$dbUser,$dbPassword) { if(self::$_instance === null) self::$_instance = new self($dsn,$dbUser,$dbPassword); return self::$_instance; } //执行sql public function execSql($sql) { $result = $this->_pdo->exec($sql); return $result; }}$dsn = "mysql:host=localhost;dbname=test";$dbUser = "root";$dbPassword = "";$sql = "delete from user where id = 1";$pdo = SinglePDO::getInstance($dsn,$dbUser,$dbPassword);$result = $pdo->execSql($sql); //$pdo->execSql($sql)多次调用,但仍然是同一个pdo对象print_r($result);到此,关于"PHP有哪些设计模式"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
模式
数据
数据库
方法
设计模式
设计
资源
学习
私有
实例
对象
建议
数据表
更多
问题
帮助
实用
明显
接下来
例子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中国的网络安全部门人员
35岁了还可以学网络技术吗
商品购物车数据库设计
软件开发中三态
阿里云服务器数据盘更换
湖南省安卓软件开发就业
黑龙江软件开发地址
信息中心网络安全应急演练
吉林师范大学数据库题
万有网络技术有限公司
keep软件开发成本
ecshop 查询数据库
南通数据库招聘
军队春节网络安全
网络安全and程序员
维特数据库
网络安全法第二十一条内容
软件开发使命职责
普法网络安全教育心得体会
维护数据库是什么意思
健全完善网络安全管理制度
文明上网与网络安全讲座稿
如何实现数据库连接的安全性
校园软件开发策划书
网络技术基础网站
网页版证券交易软件开发工具
文明重启怎么维护服务器
学习三级网络技术的APP
花小猪软件开发地是哪里
长治软件开发公司排行