深入 Hyperf:Inject 注解是如何工作的?
周五的时候,我在 Hyperf 群里看到有群友提出了一个问题:为什么 Inject 注解在使用 new 关键字实例化类时依然能够生效?按理说,Inject 注解不是应该只在通过容器实例化类时才会起作用吗?这个问题引发了群友们的讨论和猜测,甚至有人感叹,Inject 注解的实现简直就是魔法! ...
周五的时候,我在 Hyperf 群里看到有群友提出了一个问题:为什么 Inject 注解在使用 new 关键字实例化类时依然能够生效?按理说,Inject 注解不是应该只在通过容器实例化类时才会起作用吗?这个问题引发了群友们的讨论和猜测,甚至有人感叹,Inject 注解的实现简直就是魔法! ...
上一篇文章介绍了 HTTP 服务启动时发生了什么,让我们对于 Hyperf 框架以及 HTTP 服务的启动过程有了更进一步的理解。今天我们继续来了解一下,当我们访问 HTTP 服务时,它是如何处理请求并返回响应内容的。 ...
写这篇文章的起因是朋友让我帮忙解决一个与 SM2 算法加密相关的问题。由于我对 SM2 算法并不熟悉,因此在解决问题的过程中走了很多弯路,花了很多时间去了解 SM2 算法以及如何通过代码还原压缩公钥。随着越来越多的系统采用国密算法,我们在对接的时候难免会遇到类似的问题,网上关于这方面的资料也比较少,因此趁周末有空,将我发现的几种还原压缩公钥的方法记录下来,希望对你有所帮助。 ...
当我们创建 Hyperf 项目之后,只需要在终端执行 php bin/hyperf.php start 启动命令,等上几秒钟,就可以看到终端输出的 Worker 进程已启动,HTTP 服务监听在 9501 端口的日志信息。 [INFO] Worker#3 started. [INFO] Worker#1 started. [INFO] Worker#2 started. [INFO] Worker#0 started. [INFO] HTTP Server listening at 0.0.0.0:9501 打开浏览器访问 http://127.0.0.1:9501,不出意外的话,页面会显示 Hello Hyperf,说明 HTTP 服务已经在工作了。那么这是怎么做到的呢?当我们执行启动命令后,Hyperf 是如何让 HTTP 服务启动的? ...
问题环境 PHP: 8.0.13 Swoole: 4.6.2 Hyperf: 2.2.33 运行环境: Docker Desktop on WSL2 问题背景 有同事说我之前使用注解实现的某个功能有问题,具体表现就是有部分使用了注解的类没有被 Hyperf 收集到注解收集器中,导致出现了不符合预期的结果。 ...