
+ PHP
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
_earnest
后端工程师
展开
-
dnmp运行时404报错
M1芯片(Arm CPU) 环境中搭建PHP+NGINX+MYSQL的利器,docker容器管理当前使用的软件,可以简单安装软件和扩展。原创 2023-09-07 21:39:48 · 526 阅读 · 0 评论 -
workerman实现的web在线聊天
项目介绍项目是基于Workerman的GatewayWorker框架,GatewayWorker是用于快速开发TCP长连接应用,例如app推送服务端、即时IM服务端等,此项目就是基于GatewayWorker实现的在线即时聊天系统。系统功能1.文字发送2.QQ表情发送3.图片发送4.聊天记录持久化5.长连接下即时展示对方在线状态6.一对一聊天7.消息群发(代码中注释,可自行调试)8.消息读取状态以及未读条数显示。截图1地址链接截图2地址链接截图3地..原创 2020-12-18 01:06:57 · 1876 阅读 · 10 评论 -
数据传输神器之Curl - PHP版
PHP数据传输神器 cURL1.cUrl(Client URL Library Functions)的基本概念由Stenberg 创建。官方定义为:curl is a command line tool for transferring data with URL syntax,即使用URL语法传输数据的命令行工具。我们可以简单的理解成cUrl是客户端向服务器请求资源的工具。2.cUrl的使用场景1.网页资...原创 2020-10-14 23:24:47 · 207 阅读 · 0 评论 -
RSA(非对称加密算法)在接口中的使用
1.简介RSA是一种非对称签名算法。非对称加密算法需要两个密钥:签名密钥(私钥)与验签密钥(公钥),它们的数据是不一样,但需要一对使用。私钥用于签名,公钥用于验签,以此保证数据在交互过程中不被伪造和篡改。2.使用openssl生成公钥和私钥,生成工具包地址如下:http://slproweb.com/products/Win32OpenSSL.html3.生成私钥:openssl genrsa -out rsa_private_key.pem 40964.生成公钥:open原创 2021-02-18 09:14:38 · 791 阅读 · 0 评论 -
迭代器设计模式完成数值累计 PHP
使用迭代器的方式求出1到10的三次方,并输出,demo如下:<?php/** * 聚合式迭代器 * 返回一个实现了iterator接口的类的实例 * @author earnest * */class NumberCubic implements iteratorAggregate{ private $start,$end; public function __construct($start,$end) { $this->start.原创 2020-10-24 20:50:17 · 125 阅读 · 0 评论 -
工厂设计模式完成登录权限验证 PHP
一个基类User,三个子类GuestUser、CustomerUser、AdminUser,子类将获取父类获取信息的方法(例如:访问Web的权限)子类中可以更新权限,这样设计比较规范,需求增加时可增加附加的用户类型,具体代码如下:<?phpabstract class User{ protected $name = null; function __construct($name) { $this->name = $name; } .原创 2020-10-31 12:23:21 · 168 阅读 · 0 评论 -
单例设计模式完成日志记录 PHP
单例模式(Singleton Pattern)就是确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。根据这个模式可设计日志记录函数,Demo如下:<?phpclass Logger{ static private $LoggerInstance = NULL; static function getInstance(){ if(static::$LoggerInstance == NULL){ static::$Logge原创 2020-10-26 12:38:26 · 229 阅读 · 0 评论 -
静态变量调用中static和self的区别 PHP
在php的静态变量调用中有static和self两个方法,它们的作用是不同的。static访问的是堆内存中的数据,代表的是当前实例化的类的本身,而self调用的是当前代码片段的这个类。Demo和测试效果如下: <?phpclass Usps { protected static $str = "Class:Usps"; public static function printBySelf(){ echo get_called_class()."<..原创 2020-10-26 10:34:04 · 483 阅读 · 0 评论 -
单个文件下载时监控并控制下载速度 PHP
功能:1.将文件压缩下载 2.控制下载的速度 3. 实时提现下载速度效果图:代码如下:<?php // argv 0=> 脚本的相对路径 1=>第一参数 // 请求参数php urlstream.php http://127.0.0.1/example/temp.log if($argc <2){ echo 'incomplete request parameters';die; } // 获取URL原创 2020-10-13 22:53:01 · 402 阅读 · 0 评论 -
SOAP+WSDL 实现API的简单数据架构
API 的数据架构分为两种:方式 1: SOAP+WSDLSOAP 基于 XML的协议,它使应用程序通过 HTTP 或 HTTPS 来交换信息。WSDL(Web Services Description Language,网络服务描述语言)是一门基于 XML 的语言, 用于描述 Web Services 以及如何对它们进行访问。 SOAP+WSDL 使用 XML 语言构建数据架构和封装数据,是传统的 Web Services 的实现方式。方式 2: REST+JSON/Plain XML原创 2020-12-07 22:24:53 · 885 阅读 · 2 评论 -
PHP算法之归并排序、堆排序、快速排序、插入排序、选择排序、冒泡排序
常数阶:O(1) 线性阶:O(n) 平(立)方阶:O(n^2)/O(n^3) 特殊平方阶:O(n^2/2+n/2)->O(n^2) 对数阶:O(log2n) while($n>=1){ $n=$n/2 } nlog2n阶,指数阶原创 2021-04-25 00:10:01 · 296 阅读 · 0 评论 -
PHP递归实现无限分类
asdf原创 2021-03-05 21:28:29 · 123 阅读 · 0 评论 -
PHP XLSXWriter 复杂表头多表格导出
效果图如下:实现代码:public function actionExport(){ require_once Yii::getAlias('@vendor') . '/PHP_XLSXWriter/vendor/autoload.php'; $writer = new \XLSXWriter(); $filename = "统计表.xlsx"; header('Content-disposition: attachment; filen原创 2021-12-26 21:46:50 · 973 阅读 · 0 评论 -
PHP闭包函数的4种使用方式总结
PHP实现闭包函数时主要依靠匿名函数,在闭包函数中使用外界变量时使需用USE关键字,USE引用过来的变量是一个副本,若在闭包函数中修改变量的值只需在变量前添加取址符&即可。具体demo如下:1.匿名函数实现闭包<?php// 申明一个匿名函数$b = function($p){ return pow($p,2);};function a($p){ echo $p('2');}// 匿名函数作为参数传递a($b);// 匿名函数直接传递a(fun原创 2021-04-12 00:16:49 · 859 阅读 · 0 评论