在thinkphp5中将缓存引擎设置为Redis时,会提示报错,Function Redis::delete() is deprecated,原因是因为 redis 弃用了 delete 函数。可以直...
ThinkPHP利用phpOffice/Spreadsheet实现Excel导入数据(包含图片导入)以及实现字段对应
首先我们创建抽象工具类Import:namespace app\common\tool; abstract class Import { &nb...
PHP中Trait的使用
面向对象编程的三大特性是:抽象,继承,多态。我们都知道,PHP是一种单继承的语言,那么如何在PHP中如何实现多继承呢?我们先来考虑这样一个需求: 我们的项目是多模块,多平台开发。我们会使用MVC分层,...
CGI、FastCGI、PHP-FPM的区别以及详解
Web服务器php是为web而生的一种后端语言,但是php也仅仅只是一种后端语言,要实现web开发, 我们需要html,javascript,css等开发语言的协助才能将网页展示在网页上。另外,我们知...
PHP Excel导出在Safari浏览器下自动加表后缀.html 的问题
在safari浏览器下实现Excel表格导出,总是会自动加一个html后缀,导致文件无法正常打开,可以在header头里加一行,即可解决:header("Content-Type:appli...
ThinkPHP5 获取Ueditor 编辑器文本显示Html标签的问题
在视图中使用:{$content|html_entity_encode}或者在 assign之前使用php函数 html_entity_encode 处理:$this->assign('...
PHP延时静态绑定以及self 和 static 的区别
首先我们来看下,self和static的区别:class A { public static $num&nbs...
ThinkPHP利用phpOffice/Spreadsheet实现Excel导出(加粗、背景色、文字颜色、合并行列)
首先我们使用composer安装:composer require phpoffice/phpspreadsheet然后建立一个抽象的工具类Export并为其创建单例类:names...
PHP实现参数的自定义顺序调用
首先我们以添加用户为例来看两个方法://方法① public function addUser(string $userName, string $u...

消息系统的设计(二: 系统架构设计和数据库设计)
在开发中,我们期望消息的发送与业务系统进行解耦,这样做的好处是,可以是业务代码与消息系统的发送完全分离,不会因为消息发送的快慢程度而影响业务系统处理。因此,我们使用队列来完成消息的推送。消息流程图:①...