-
PHP设计模式之适配器模式原理与用法分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:196
本篇章节讲解PHP设计模式之适配器模式原理与用法。分享给大家供大家参考,具体如下: 一、什么是适配器模式 适配器模式有两种:类适配器模式和对象适配器模式。其中类适配器模式使用继承方式,而对象适配器模式使用组合方式。由于类适配器模式包含双重继承[详细]
-
原生php实现excel文件读写的方法分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:114
本文实例分析了原生php实现excel文件读写的方法。分享给大家供大家参考,具体如下: 最近在工作中遇到一个需求,需要将数据库中的数据导出到excel文件中,并下载excel文件。因为以前没做过,所以就百度了一下,网上说的大多是使用PHPExcel类来操作excel文[详细]
-
PHP设计模式之工厂方法设计模式实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:125
本篇章节讲解PHP设计模式之工厂方法设计模式。分享给大家供大家参考,具体如下: 一、什么是工厂方法模式 作为一种创建型设计模式,工厂方法模式就是要创建“某种东西”。对于工厂方法,要创建的“东西”是一个产品,这个产品与创建它的类之间不存在绑定。[详细]
-
php接口实现拖拽排序功能
所属栏目:[PHP教程] 日期:2021-05-23 热度:50
列表拖拽排序是一个很常见的功能,但是后端接口如何处理却是一个令人纠结的问题 如何实现才能达到效率最高呢? 先分析一个场景,假如有一个页面有十条数据,所谓的拖拽就是在这十条数据来来回回的拖,但是每次拖动都会影响到其他数据例如把最后一条拖到最前[详细]
-
PHP操作Postgresql封装类与应用完整实例
所属栏目:[PHP教程] 日期:2021-05-23 热度:102
本篇章节讲解PHP操作Postgresql封装类与应用。分享给大家供大家参考,具体如下: 这个类封装了一些常用的函数,原帖里面还有事务处理的内容,以后再学习吧。 类文件定义: host = $host;$this->port = $port;$this->user = $user;$this->passwd = $passwd;[详细]
-
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
所属栏目:[PHP教程] 日期:2021-05-23 热度:195
副标题#e# 本篇章节讲解PHP操作MongoDB实现增删改查功能。分享给大家供大家参考,具体如下: MongoDB的PHP驱动提供了一些核心类来操作MongoDB,总的来说MongoDB命令行中有的功能,它都可以实现,而且参数的格式基本相似。PHP7以前的版本和PHP7之后的版本对M[详细]
-
PHP操作Redis常用技巧总结
所属栏目:[PHP教程] 日期:2021-05-23 热度:176
副标题#e# 本篇章节讲解PHP操作Redis常用技巧。分享给大家供大家参考,具体如下: 一、Redis连接与认证 connect('127.0.0.1',6379,30);//密码认证:成功返回true,否则返回false$ret = $redis->auth('123456'); 二、String操作 set('mystr','Welcome!');//[详细]
-
PHP排序算法之归并排序(Merging Sort)实例详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:107
本篇章节讲解PHP排序算法之归并排序(Merging Sort)。分享给大家供大家参考,具体如下: 基本思想: 归并排序:就是利用归并(合并)的思想实现的排序方法。它的原理是假设初始序列含有 n 个元素,则可以看成是 n 个有序的子序列,每个子序列的长度为 1,然[详细]
-
PHP生成推广海报的方法分享
所属栏目:[PHP教程] 日期:2021-05-23 热度:51
副标题#e# 经常有这样的需求,就是需要在生成推广海报,包含指定的二维码,分享出去别人扫码之后就可以确定用户推荐关系。 仔细分析一下,推广海报必要的要素就是海报背景图和二维码,这两者都容易生成,但要两者结合到一起组合成为一张图二维还要可以保存[详细]
-
PHP基于SPL实现的迭代器模式示例
所属栏目:[PHP教程] 日期:2021-05-23 热度:100
本篇章节讲解PHP基于SPL实现的迭代器模式。分享给大家供大家参考,具体如下: 现在有这么两个类,Department部门类、Employee员工类: _name = $name; $this->employees = array(); } function addEmployee(Employee $e){ $this->_employees[] = $e; echo[详细]
-
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:199
副标题#e# 本篇章节讲解PHP排序算法之快速排序(Quick Sort)及其优化算法。分享给大家供大家参考,具体如下: 基本思想: 快速排序(Quicksort)是对冒泡排序的一种改进。他的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分的关键字均比[详细]
-
PHP排序算法之堆排序(Heap Sort)实例详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:97
本篇章节讲解PHP排序算法之堆排序(Heap Sort)。分享给大家供大家参考,具体如下: 算法引进: 在这里我直接引用《》里面的开头: 在前面讲到 ,它在待排序的 n 个记录中选择一个最小的记录需要比较 n - 1 次,本来这也可以理解,查找第一个数据需要比较这[详细]
-
PHP排序算法之基数排序(Radix Sort)实例详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:188
本篇章节讲解PHP排序算法之基数排序(Radix Sort)。分享给大家供大家参考,具体如下: 基数排序在《》中并未讲到,但是为了凑齐八大排序算法,我自己通过网络学习了这个排序算法,并给大家分享出来。 基本思想: 基数排序(radix sort)属于“分配式排序”[详细]
-
PHP实现Huffman编码/解码的示例代码
所属栏目:[PHP教程] 日期:2021-05-23 热度:53
Huffman 编码是一种数据压缩算法。我们常用的 zip 压缩,其核心就是 Huffman 编码,还有在 HTTP/2 中,Huffman 编码被用于 HTTP 头部的压缩。 本文就来用 PHP 来实践一下 Huffman 编码和解码。 1. 编码 字数统计 Huffman编码的第一步就是要统计文档中每个[详细]
-
PHP final包含的最终类和最终方法
所属栏目:[PHP教程] 日期:2021-05-23 热度:94
final 关键字的作用如下: 使用 final 修饰的类,不能被继承; 类中使用 final 修饰的成员方法,在子类中不能覆盖(重写)该方法。 如果某个类不想被继承,那么就可以使用 final 来修饰这个类。使用 final 修饰的类不能有子类,也就不能对它进行拓展。如果[详细]
-
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:128
本篇章节讲解PHP排序算法之直接插入排序(Straight Insertion Sort)。分享给大家供大家参考,具体如下: 算法引入: 在这里我们依然使用《》里面的一个例子: 扑克牌是我们几乎每个人都玩过的游戏。平时我们开始的时候一般都是一个人发牌,其他人都是一边摸[详细]
-
PHP abstract中抽象类与抽象方法的联系
所属栏目:[PHP教程] 日期:2021-05-23 热度:171
1、抽象方法抽象方法是没有方法体的方法,所谓的没有方法体指的就是,在声明方法时候没有花括号{ }以及其中的内容,而是直接在方法名后加上分号结束。另外,在声明抽象方法时要使用abstract关键字修饰。格式如下所示: abstract 访问权限修饰符 function 方[详细]
-
PHP魔术方法具体实践
所属栏目:[PHP教程] 日期:2021-05-23 热度:102
1、__set() 方法在为当前环境下未定义或不可见的类属性赋值时,会自动调用 __set() 方法。定义该方法的语法格式如下: public function __set($key, $value){ ... ... ; } 其中,参数 $key 是要操作的变量名称,$value 为变量 $key 的值。 【示例】下面使用[详细]
-
PHP设计模式中的单例模式和工厂模式
所属栏目:[PHP教程] 日期:2021-05-23 热度:64
1、工厂模式工厂模式是一种专门用来创建其它对象的类(称为工厂类),根据传递参数的不同,来创建不同类的对象。我们可以使用工厂类创建对象,而不是直接使用 new。 工厂类中至少有一个公共的静态方法(称为工厂方法),静态方法接受一个参数,根据这个参数[详细]
-
PHP namespace中包含的命名空间
所属栏目:[PHP教程] 日期:2021-05-23 热度:132
PHP 中命名空间(namespace)是在 PHP5.3 中加入的,如果你了解过 C++ 的话,那命名空间就不算什么新事物了。不过命名空间在 PHP 当中还是相当重要的。 PHP 命名空间可以解决以下两类问题: 用户编写的代码与 PHP 内部的类/函数/常量或第三方类/函数/常量之[详细]
-
PHP extends:如何继承
所属栏目:[PHP教程] 日期:2021-05-23 热度:154
类的成员都有不同的访问权限,由访问控制关键字来控制的。在 PHP 中,父类所有使用 public 修饰的成员均可以被子类继承。 【示例】定义一个基类,使用另一类来继承这个基类,同时在尝试使用子类调用基类中的成员方法。 ?php class Website{ public $name, $[详细]
-
PHP排序算法之希尔排序(Shell Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:139
本篇章节讲解PHP排序算法之希尔排序(Shell Sort)。分享给大家供大家参考,具体如下: 基本思想: 希尔排序是指记录按下标的一定增量分组,对每一组使用 ,随着增量逐渐减少,每组包含的关键字越来越多,当增量减少至 1 时,整个序列恰好被分成一组,算法便[详细]
-
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层
所属栏目:[PHP教程] 日期:2021-05-23 热度:110
副标题#e# 本篇章节讲解PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历 :对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深[详细]
-
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:99
本篇章节讲解PHP排序算法之冒泡排序(Bubble Sort)实现方法。分享给大家供大家参考,具体如下: 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 最简单排序实现: 我们先来看看[详细]
-
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:87
本篇章节讲解PHP排序算法之简单选择排序(Simple Selection Sort)。分享给大家供大家参考,具体如下: 基本思想: 通过 n - i 次关键字间的比较,从 n - i + 1 个记录中选出关键字最小的记录,并和第 i (1 算法实现: 运行结果: int(1) [1]=> int(2) [2]=[详细]