php
文章平均质量分 64
来自氪星的上古修士
知行合一才是正道啊
展开
-
php装饰器模式理解与实际场景
- 作用不改变原对象,动态的给一个对象添加/修改功能。为什么不直接用继承?下面代码我们实际上是要给RequestHand2 hand增加新的功能。<?php/** * Created by PhpStorm. * User: Administrator * Date: 2021/9/28 * Time: 23:13 *///请求类class Request{}//抽象类 请求处理类abstract class RequestHand{ //处理请求原创 2021-09-29 01:19:03 · 264 阅读 · 0 评论 -
php实现服务器(二) I/O复用-epoll实现
epoll比select,poll效率高很多,epoll是基于事件通知的。准备1.安装libevent。 直接按照git上的说明安装即可。2.php安装event扩展(libevent不支持php7,所以最好用event,这次我的环境是centos,因为系统上有多个php版本,所以我用phpize编译的,有条件可以直接用pecl)。3.event学习(写的真好啊,建议通读,收藏)。tcp服务端<?php/** * Created by PhpStorm. * User: Admini原创 2021-09-12 23:56:39 · 359 阅读 · 1 评论 -
php实现服务器(一) I/O复用-select实现
I/O复用主要解决服务端t同时处理大量连接的场景,实际上就是一个进程/线程处理多个连接。如果不使用I/O复用,处理多个连接就必须开多个进程/线程,一般系统能开启的进程/线程是有上限的,并且进程/线程切换开销很大,所以现在主流采用I/O复用的方式来应对高并发场景。I/O复用实现方式主要为select,poll,epoll。select,poll主要通过轮询的方式监听连接事件,epoll是通过事件通知监听,更加高效。nginx就是采用的epoll方式。今天用php实现一个tcp服务器,采用select方原创 2021-09-08 23:59:46 · 300 阅读 · 2 评论 -
PHP多线程扩展-parallel(一)
**PHP多线程扩展-parallel(一)**php其实也是有多线程的,比较有名的就是pthread 扩展,但是当我打开官网想学习一下,结果。既然官方都放弃他了,那就看看parallel吧,百度谷歌了一下,几乎没人发文章….官网的说明全英文而且非常的简陋,凭着我的4级英语水平以及翻译软件勉强明白了几个核心api的使用…安装值得一提的是parallel扩展支持windows,从这点看就比 pthread 好多了,在cli是可以使用的,就是不知道在fpm下是否可以使用(经过测试无法再用于fpm)原创 2021-09-08 23:00:09 · 3116 阅读 · 2 评论