202004-22 PHP代码优化 HOT 牢记这个优化处理不失为 一个好主意,因为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。 继续阅读 >
202004-21 PHP 项目实践中的自动加载实现 HOT 使用spl_autoload_register函数注册一个自己定义的自动加载函数。当在代码中new一个不存在的类的时候,上面的函数会被调用,不存在的类名会被作为参数传入该函数中 继续阅读 >
202004-13 php随机生成验证图片 HOT 为了防止用户利用机器人自动注册、登录、灌水,现在的网站一般都采用了验证码技术,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。 继续阅读 >
202003-30 PHP FFI详解——一种全新的PHP扩展方法 HOT 随着PHP7.4而来的有一个我认为非常有用的一个扩展:PHP FFI(Foreign Function interface),引用一段PHP FFI RFC中的一段描述: 对于PHP,FFI提供了一种在纯PHP中编写PHP扩展和对C库的绑定的方法。 继续阅读 >
202003-30 RabbitMQ的持久化 HOT RabbitMQ的持久化主要体现在三个方面,即交换机持久化,队列持久化及消息持久化 注意,因公司使用php-amqplib来实现RabbitMQ,故之后举例说明的代码均使用的php-amqplib,而非php的amqp扩展 继续阅读 >
202003-23 PHP实现简单RPC HOT RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。 继续阅读 >
202003-23 php socket简单原理及实现 HOT socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,连接的一端称为一个socket. 因此socket运行是置少有2个端组成,一个为服务端一个为客户端(客户端可以多个). 继续阅读 >
202003-19 基于pcntl的PHP进程池 HOT PHP多进程编程当前主要有这几种方式, 1>基于pcntl实现多进程,这也是PHP自带的多进程玩法 2>Swoole自己修改PHP内核代码,从而实现多进程,这个看起来比较新 2>Swoole自己修改PHP内核代码,从而实现多进程 inple_fork这个库,实现了多进程和进程池。 继续阅读 >
202003-19 php单例模式的常见应用场景 HOT 单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。 继续阅读 >
202003-19 php 简单的 单例模式 HOT 使用注意事项: 1.使用时不能用反射模式创建单例,否则会实例化一个新的对象 2.使用懒单例模式时注意线程安全问题 3.饿单例模式和懒单例模式构造方法都是私有的,因而是不能被继承的,有些单例模式可以被继承(如登记式模式) 继续阅读 >
202003-18 几行php代码把数据格式化成树形结构 HOT 上代码:<?php/***将数据格式化成树形结构*@authorXuefen.Tong*@paramarray$items*@returnarray*/functiongenTree5($items){foreach($itemsas$item){$items[$item['pid']]['son'][$item['id']]=&$items[$item['id']];}returnisset($items[0]['son'])?$items[0]['son']:array();}functiongenTree9($items){$tree=array();//格式化好的树foreach($itemsas$item)... 继续阅读 >
202003-18 PHP利用nginx的X-sendfile控制下载,提高下载效率 HOT 为了控制静态文件下载, 一般方法需要PHP用file_get_contents读取文件,再传给客户端。 继续阅读 >
202003-18 PHP实现redis的批量操作命令pipeline HOT 以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家, 继续阅读 >
201911-26 PHP抽象类与接口的区别详解 HOT 抽象类:是基于类来说,其本身就是类,只是一种特殊的类,不能直接实例,可以在类里定义方法,属性。类似于模版,规范后让子类实现详细功能。 接口:主要基于方法的规范,有点像抽象类里的抽象方法,只是其相对于抽象方法来说,更加独立。可让某个类通过组合多个方法来形成新的类。 继续阅读 >
201906-03 PHP实现下载与压缩文件的封装与整理 HOT 1、PHP实现打包zip并下载功能$file_template = FCPATH.'canddata/cand_picture.zip';//在此之前你的项目目录中必须新建一个空的zip包(必须存在)$downname = $card.'.zip';//你即将打包的zip文件名称$file_name = FCPATH.'canddata/'.$card.'.zip';//把你打包后zip所存放的目录$result = copy( $file_template, $file_name );//把原来项目目录存在的zip复制一... 继续阅读 >
201905-23 PHP实现站内信设计思路与方案 HOT 当前使用运维平台的用户进行沟通时,更多的是依赖微信和邮件通知,而运维平台作为一个整体的产品,也需要能够进行内部沟通的一种服务 - 站内信。 继续阅读 >
201901-25 WebSocket 通信过程与实现,PHP中高级教程 WebSocket 是一种标准协议,用于在客户端和服务端之间进行双向数据传输。但它跟 HTTP 没什么关系,它是基于 TCP 的一种独立实现。 继续阅读 >