PHP设计模式中工厂模式深入详解
简介 工厂模式属于创建型模式,可以分为三种:简单工厂、工厂模式、抽象工厂。 通俗讲就是用于如何优雅的创建对象而设计。当开发者不知道建什么对象,或者创建方式过于复杂的时候去使用(比如引入一...
简介 工厂模式属于创建型模式,可以分为三种:简单工厂、工厂模式、抽象工厂。 通俗讲就是用于如何优雅的创建对象而设计。当开发者不知道建什么对象,或者创建方式过于复杂的时候去使用(比如引入一...
1、问题开篇 本文来自于我近期工作中遇到的一个真实问题,稍作整理后分享给大家~ 一张用户表,其中 phone 添加了普通索引: ? 1 2...
mysql分组统计并求出百分比 1、mysql 分组统计并列出百分比 SELECT point_id,  ...
MySQL with rollup的用法 当需要对数据库数据进行分类统计的时候,往往会用上groupby进行分组。 而在groupby后面还可以加入withcube和withrollup...
Mysql区间分组查询 场景 一张用户表(user),有用户id(id)、余额(balance)等字段,要求展示 余额在某个区间内的人数 区间有0-1万,1-10万,10-...
mysql按照某个时间段分组统计 今天刚好是碰到一个报表需求,要求根据时段统计各工单的数量。这个就有点皮实了,以前都没搞过这玩意。于是研究了几下。 准备开始 首先一个问题,想根...
1. 为什么要备份数据 先说一下为什么需要备份MySQL数据? 一句话总结就是:为了保证数据的安全性。 如果我们把数据只存储在一个地方,如果物理机器损坏,会导致数据丢失,无法恢复。...
环境说明: 操作系统:银河麒麟V10 数据库:DM8 相关关键字:DM数据库、SQL实际执行计划 一、set autotrace trace disql下执行set auto...
1)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎...
正文 最近的工作中,我听到组内两名研发同学在交流数据统计性能的时候,聊到了以下内容: 数据统计你怎么能用 count(*) 统计数据呢,count(*) 太慢了,要是把数据库搞垮了...
问题 初始化数据库时 mysqld --initialize --user mysql 报错: mysqld: error while loading share...
前言 本文围绕这三个话题来学习索引下推: SELECT 语句执行过程 什么是索引下推? 索引下推限制 SELECT 语句执行过程 MySQL 数据库由...
1. MySQL 索引的最左前缀原则 左前缀原则是联合索引在使用时要遵循的原则,查询索引可以使用联合索引的一部分,但是必须从最左侧开始。在创建联合索引时,要根据业务需求,where子句中将使...
基本介绍 约束用于确保数据库的数据满足特定的商业规则 在mysql中,约束包括:not null,unique,primary key,foreign key 和check 5...
简介 观察者模式是行为型模式的一种,定义了对象间一对多的关系。当对象的状态发生变化时候,依赖于它的对象会得到通知。 适用场景 类似触发钩子事件,可做消息通知、框架底层监听...
php魔术方法 在php类保留方法中以 “__”两个下划线开头的函数称为魔术方法,我的理解为php类设计中自定义好的函数。 常见的魔术方法有: __construct(),类的...
一、在Yii中实现乐观锁 乐观锁(optimistic locking)表现出大胆、务实的态度。使用乐观锁的前提是, 实际应用当中,发生冲突的概率比较低。他的设计和实现直接而简洁。 目前We...
一、安装queue composer require yiisoft/yii2-queue 二、配置queue 安装queue之后我们在项目中运行 php yii时这...
一、生成器的概念 生成器提供了一种更容易的方法来实现简单的对象迭代,生成器允许你在 foreach 代码块中写代码来迭代一组数据而不需要在内存中创建一个数组, 那会使你的内存达到上限,或者会...
查询作用域 全局作用域 全局作用域允许你对给定模型的所有查询添加约束。使用全局作用域功能可以为模型的所有操作增加约束。 软删除功能实际上就是利用了全局作用域功能 实现一个全...
一、laravel-tcpdf 导出PDF文件Laravel框架为我们集成了一个插件tcpdf。 下载地址: https://github.com/elibyy/tcpdf-lara...
Laravel中的cache为我们提供了三种缓存机制。 Redis,memcache,以及框架的文件缓存。 这里主要看的是cache中的文件缓存。 一、访问多个缓存存储 使...
字符类型(CHAR Types) CREATE TABLE t1 (c1 CHAR(10)); 该语句创建了一张t1表,表中只有一个字段c1,类型为char,char(10)括号中...
datetime、date、time、str之间的转化与比较 ? 1 2 3 4 5 6 7 8 9 10 11...
通配符过滤 通配符:用来匹配值的一部分特殊字符。 通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。 搜索模式:由字面值、通配符或者两者组合构成的搜索条件。 语法(使用...
1、基本字符匹配 数据库使用正则进行过滤,写法与like语句非常相似,只需将“like"关键字改为"regexp"即可。我们先来看一个最简单的正则匹配: ?...
通常在实际应用中,会涉及到模糊查询的需求,查询在 MySQL 中使用 SQL SELECT 命令来读取数据,有条件的查询可以在 SELECT 语句中使用 WHERE 子句来获取记录 有时候我...
1.起因: 在做一个小系统的时候,我想数据量交互不大,就都用一个链接执行算了,还能节省点资源,但是实际情况遇到了如下问题,在使用的过程中,有些数据操作会被转移到其他线程,这样;我这个简单的想...
当存在多个项目的时候,需要同时部署时,且只有一台服务器时,哪么就需要部署Mysql多个实例,原理很简单,多个mysql服务运行使用不同的配置及数据管理。 具体操作如下: 1、找到mysq...
前言 之前对MySQL的认知只限于会写些SQL,本篇开始进行对MySQL进行深入的学习,记录和整理下自己对MySQL不熟悉的地方。如果有需要可以关注我的专栏一起学习,共同进步!关于mysql...
mysql主从搭建 环境:ubuntu20.04.1,mysql:8.0.22。 主:192.168.87.3 备:192.168.87.6 安装数据库 ?...
前言 前文我们了解了MySQL采用客户端/服务器架构,用户通过客户端程序发送增删改查需求,服务器程序收到请求后处理,并且把处理结果返回给客户端。这篇文章主要看下MySQL服务端是如何处理客户...
前言: mysql统计一个数据库里所有表的数据量,最近在做统计想查找一个数据库里基本所有的表数据量,数据量少的通过select count再加起来也是可以的,不过表的数据有点多,不可能一个一...
使用MySQL正则表达式 基本字符匹配 例:检索列prod_name 包含文本1000的所有行。 SELECT prod_name FROM products WHERE...
创建计算字段 计算字段 存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换计算,格式化后的数据。这就是计算字段发挥作用的所在了。计算字段并不实际存在于数据库表...
汇总数据 聚集函数 聚集函数:运行在行组上,计算和返回单个值的函数 SQL聚集函数: 函数 说明 AVG()...
Laravel为我们提供了完整的加密方法及加密模式。 我之前一般在加密的时候使用的是我自己写的加密函数,但是这个玩意,有的位置还是不太使用,当然,破解的话,基本上也是不可能的。具体请移步《p...
去网上找了下。 Php常用的加密函数有 MD5加密(不可逆)、Crypt加密(不可逆)、Sha1加密(不可逆)、Urlencode加密(可逆) base64编码加密(可逆) 还是...
有的时候,我们在开发的过程中需要连接多个数据库。 Laravel框架中早已为我们想到了这样的需求。 配置很简单。 在根目录下的/config/database.php文件中配置:...
业务场景 RuoYi 自带完善的管理后台 PHP 暂未找到类似的适合的代码 基于当前新业务量小,开发快速的特征,业务方面用PHP代码开发 于是需要将Ruoyi框架的登陆Token...
在使用laravel之前我一直在使用thinkphp还有yii框架,这两个框架也有路由这一说,但是都没有用过。 Laravel的路由功能其实还是挺全的,也很优雅~ 下面来说正题:...
1、composer先挂载阿里云镜像 composer config -g repo.packagist composer https://mirrors.aliyun.com/com...
当登录邮箱为腾讯企业邮箱的时候。 Phpmailer发送邮件就不好用了,具体哪里不好用,我没真没找到。 但是,邮件得发啊,怎么办呢? 我这里搞了一个自定义的发送邮件类,腾讯企业邮箱也...
引文 上一篇给大家带来了XSS跨站脚本攻击漏洞不知道大家学的咋样了,今天给大家带来另一个漏洞,PHP的反序列化漏洞,这也是我在CTF比赛中遇到过最多的也是比较考察逻辑思维的一种漏洞。...
引文 之前将PHP反序列化的基础知识讲了一遍,不知道大家学习的怎么样了,今天给大家带来PHP反序列化的进阶知识:PHAR反序列化,也是之前本人在CTF比赛中经常遇到的一种php反序列化的进阶...
前言 一直遇到过这个 函数,但是不知道怎么利用 这回学习一下这个函数 create_function()简介 适用 PHP4>4.0.1 PHP 5 PHP7...
背景 php对象注入是一个非常常见的漏洞,这个类型的漏洞虽然有些难以利用,但仍旧非常危险,为了理解这个漏洞,请读者具备基础的php知识。 漏洞案例 如果你觉得这是个渣渣洞,那么...
PHP 在 Microsoft Windows 下的命令行方式 要在命令行下运行 PHP,可以无需对 Windows 做任何改动。 ? 1...
前言 PHP 中的 array 实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型针对多种不同用途进行了优化; 它可以被视为数组、列表(向量)、哈希表(映射的...
注:此函数为 MySQL8.0 版本新增,低于8.0版本没有此函数。 regexp_replace(expr, pat, repl[, pos[, occurrence[, match...