event-loop的一些心得体会

🐇 最新更新于2020-06-02 前言 最早接触reactor模型的时候,应该是在参与一个叫zanphp项目的时候,他是一个类似swoole的php拓展项目,当然它们之间的故事我就不多说了,也有一些冲突和迷茫;在那个时间段的PHP发展还是很蓬勃向上的,那时候的滴滴、有赞、百度都有很多很多PHP项目,那时候的原生PHP有许多许多的瓶颈,所以国内那时候涌现了很多使用C来为PHP加速的开发者。 随着PHP慢慢发展,P...

chaz6chez 发表与 2022-05-28 4232 浏览 7 评论
Nacos在我司的应用及SOA初尝

前言 我目前所在的部门主要是负责公司的数据相关的内容,可以理解为数据统计,做的工作其实也比较复杂,除了做一些数据统计分析业务之外,需要做一些基础服务的开发;我部门因为内部开发语言并不统一,在这种情况下,项目被动的分成了A\B\C\D等子项目,并没有将项目合并到一个项目中开发,在这种过程中,被动的接受了SOA这样的结构。 A项目是一个任务的调度分配服务,可以理解为一个大型的脚本/定时执行器,有点类似与现在比较流行的se...

chaz6chez 发表与 2022-05-13 6482 浏览 16 评论
【深入workerman的信号机制】研究下PCNTL扩展源码

【1】深入workerman信号机制 这个话题是本人《深入PHP内核源码》视频教程里的一个插录环节,剖析扩展源码的细节移步B站。 【2】研究背景 workerman内核实现有依赖PCNTL扩展,这是因为涉及到信号编程,其中局部依赖了pcntl_signal()和 pcntl_signal_dispatch() 这两个函数,至今社区对这个话题的讨论热度依旧不减,但是这种机制有个缺陷:性能倒不低,主要是需要用户空间不断的...

blogdaren 发表与 2022-04-22 968 浏览 2 评论
AsyncTcpConnection 异步HTTP指定出口IP的问题

异步HTTP走的是ConnectionPool.php 默认 new client的时候 就可以填充附加参数 百度搜索不到结果 看了一下源码。。。。原来要在这里赋值 例如我服务器有2个IP 127.0.0.1 127.0.0.2 默认 是127.0.0.1 我们绑定 127.0.0.2 只需要 $http=new Client(array('context'=>array('socket'=>array...

A501 发表与 2022-03-24 757 浏览 1 评论
基于Webman1.3开发的极速后台内容框架,表格,表单,全局组件均可快速生成页面

项目名称:HPAdmin 项目介绍:HPAdmin是一套渐进式开源后台,基于Webman开发的极速后台框架,采用前后端分离技术,数据交互采用json格式,功能低耦合高内聚;核心模块支持系统设置、权限管理、管理员、权限菜单、快速构建CRUD功能页面等功能,开发目的,让后端人员不触碰任何一段HTML代码即可快速开发后台。 开源地址:https://gitee.com/hangpu888/hpadmin 主页地址:http...

楚羽幽 发表与 2022-03-22 5396 浏览 6 评论
手动配置 beforeAction() afterAction()

注意 webman版本>=1.2时请使用 webman/action-hook插件 实现beforeAction() afterAction()。 否则请参考以下教程手动配置 注意 webman版本>=1.4.6 时,webman默认关闭了控制器复用,可以直接使用控制器__construct()为每个请求初始化工作 在传统框架中,每个请求都会实例化一次控制器,所以很多开发者__construct()方...

walkor 发表与 2022-03-18 2471 浏览 6 评论
修改了下webman的请求和响应类,使得可以在中间件中更新Cookie

我修改的目的主要是为了使用中间件能对cookie进行透明的加解密,在这里分享一下,同时如果有大佬发现有什么问题也欢迎指出。 修改 Webman\Http\Request 类 添加updateCookie方法用来刷新请求实例中的cookie,目的是为了使用中间件来对请求Cookie进行解密。不过需要注意的是,webman会对request对象进行缓存,就是满足一定条件的两个请求,后面的请求webman会直接取出缓存而不...

LEO_D86 发表与 2022-03-16 1243 浏览 1 评论
这两天用casbin的总结

本人再接触casbin之前,一直是使用的thinkrbac那种鉴权的方式,目前在用webman做后台管理,在权限这块出于好奇选择的casbin,使用期间由于一些自身错误的理解也得到了插件作者的帮助(再次感谢),在即将完成鉴权功能的时候,新的问题就出现了,首先用户-角色,角色-菜单,这种设计的方式我还是按接触casbin之前的理解做的,这样设计会有如下几点问题: 如果菜单表变动(增删) 需要同步角色-菜单关联表,ca...

864328615 发表与 2022-03-08 1509 浏览 2 评论
webman手动安装think-orm组件

webman 1.2版本支持think-orm插件,可自动安装think-orm并配置webman。该插件需要webman>=1.2.1,如果你的webman版本是旧版本,请参考以下文档手动配置安装think-orm。 安装ThinkOrm composer require topthink/think-orm 配置文件 config/thinkorm.php 内容如下: <?php return...

walkor 发表与 2022-03-03 6045 浏览 5 评论
无需安装php环境直接运行webman

作为PHP开发者都应该知道PHP有两种运行模式:php-fpm和php-cli,那么在 Swoole 5.0中将迎来一种新的运行模式:swoole-cli。 Swoole 将像node.js这样作为独立程序提供给用户,而不是作为PHP的一个扩展。 除此之外swoole-cli会尽可能地对php-src进行裁剪,移除一些不用的机制、模块、扩展、函数、类型、常量、代码,使得整个程序可以在几分钟之内编译完成。 了解更多S...

北月 发表与 2022-03-02 4166 浏览 4 评论
webman链路追踪插件

webmanTracer插件使用教程 webman的链路追踪组件,基于xiaoyangguang/aop, 实现了基本的链路追踪组件, 比如mysql es redis 开发者可自定义追踪方法函数,实现自己需要追踪的组件,可追踪composer加载的三方库,比如thinkorm的数据库执行函数 (可选择自定义收集追踪上报数据类,并配置在tracer.php中 如果example无法满足你的需求) 插件安装 co...

小阳光 发表与 2022-01-09 1981 浏览 3 评论
FlowerMQ 基于workerman和redis实现的消息队列

FlowerMQ FlowerMQ 一个基于Workerman和Redis实现的消息队列,一个小小工具,用来给主项目解耦的,也支持延迟队列,失败尝试这些。 运行依赖 php7.2 Redis5.0.4上,因为用到Redis Stream pecl依赖,redis扩展 composer依赖,workerman/workerman 4.0以上 安装 composer安装 composer create-project...

dazhaozhao 发表与 2022-01-07 1621 浏览 7 评论
webman-aop 切片组件

aop使用教程 composer require yzh52521/webman-aop 在根目录增加define.php use yzh52521\aop\ClassLoader; $appConfig = config('app'); if (isset($appConfig['default_timezone'])) { date_default_timezone_set($appConfig['de...

yzh52521 发表与 2022-01-04 2235 浏览 5 评论
分享一个多功能的验证器,可以对数据进行转换、验证、过滤

这个项目由来很久了,大概至少有6年的历史,最早我工作的时候接触的一个项目叫struct,他可以把数组映射到对象属性上进行数据类型内容等判断或者过滤,也可以进行转换,也可以自行注册handle进行过滤、判断;后来我把这个项目重构了一下,适用在常驻内存的环境下,同时,这个项目也是我用在生产环境中的一个项目; 这个项目有点像残疾的注解,不过我觉得用起来还挺好的,所以推荐给大家 测试覆盖率应该超过了80%,常用的几种方案都是...

chaz6chez 发表与 2022-01-03 1920 浏览 5 评论
TransferStatistics v2 应用监控系统

TransferStatistics v2 TransferStatistics v2 使用webman开发的一个应用监控系统,用于查看应用调用记录、请求量、调用耗时、调用分析等。 系统使用 HTTP 接收上报数据;使用 Redis 进行数据汇总统计;使用 MySql 存储统计数据和上报信息 项目地址 https://github.com/hsk99/transfer-statistics 所需环境 PHP版...

hsk99 发表与 2021-12-23 9319 浏览 43 评论

Tinywan

11350
积分
0
获赞数
0
粉丝数
2020-01-14 加入
🔝