![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hyperf
文章平均质量分 65
A黄俊辉A
这个作者很懒,什么都没留下…
展开
-
hyperf的启动源码分析(二)——请求如何到达控制器
找到Hyperf\Server\Command\StartServer类并找到它的run方法,startServer没有run方法,所以就找到了它的父类,symfony\console\command\command.php的run方法。上面的方法都完成了,swoole服务器也创建了,我们再回到原来的代码中,就剩下服务器的开启命令start()了。那么,我们的路由是怎么走到相应的控制器方法中的呢,这就是看一下,我们的onRequest事件都做了什么了。......原创 2022-07-26 21:33:13 · 1168 阅读 · 0 评论 -
hyperf的启动源码分析(一)——服务器是怎样开启的
heyperf 是php 的一款协程框架, 我们在安装好 hyperf 之后, 在命令行使用php bin/hyperf.php start 就可以将它启动, 那么这行命令到底做了什么工作,本人分析了一下源码, 大至看懂了一些, 这里做一下笔记从入口进入看一下代码 也就是 hyperf.php//------------------------第一段---------------------ini_set('display_errors', 'on');ini_set('display_s原创 2021-08-31 00:18:16 · 2509 阅读 · 2 评论 -
hyperf 的静态文件处理
hyperf 的静态文件处理是通过hyperf 的视图来处理的, hyperf/view 组件可以处理静态数据, 如 css image js等文件, 同时可以使用 模板引擎渲染页面, ( blade , smarty thinktemplate) 等 传送门上面的意思也就是说 hyperf 本来是用来做接口开发的, 适合前后端分离的项目, 但是如果不想使用前后端分离的话, 就可以使用 hyperf/view 组件, 来实现但是不管是不是前后端分离, 我们要访问静态资源文件的话, 还是要使用原创 2021-09-14 10:20:58 · 2030 阅读 · 0 评论 -
hyperf 的文件上传
使用hyperf 做文件的上传因为文件上传有很多的存储方式, 如 阿里云, 七牛云, 本地上传等所有, hyperf 为每种上传也做了不周的驱动传送门 具体请看官网我们这只里说一下, 本地的上传首选安装 composer require hyperf/filesystem然后发布文件系统的配置php bin/hyperf.php vendor:publish hyperf/filesystem如果在同一个系统中, 我们有的地方要用本地的, 有的地方要使用 阿里云的, 有的地方要使用七牛云的,原创 2021-09-10 10:23:43 · 2344 阅读 · 0 评论 -
hyperf-ext/jwt 的使用方法
jwt JSON WEB TOKEN 这是一种Api 开发时常用的身份认证方法我们在使用 hyperf 的时候, 官方也给我们封装好了一个 hyperf-ext/jwt 的插件, 但是没有使用说明, 然后又有很多的文章, 写的是使用 hyperf-ext/jwt + hyperf-ext/auth 来使用, 然后写了一大堆, 我没有细看, 我现在的想法是, 我就是不使用 auth组件, 我就是只使用 jwt 完成, 花了两个小时研究了一下, 还好搞懂了, 没有浪费时间, 下面把使用方法分享给原创 2021-09-08 11:23:09 · 1555 阅读 · 0 评论 -
hyperf 的数据库模型的使用
hyperf 的数据库模型的使用说明, 官网传送门首先要 composer 安装 hyperf/db-connection (如果已经安装可以忽略)然后, 在 app/autoload/databases.php 的配置文件中作相应的配置, 如果要使用env文件的, 就在env 文件中配置相应的项就可以了同时, 数据的库配文件中还支付 读写分离的配置, 可以对参考官网配置好后, 我们来看一下它的使用过程生成数据表模型,如图, 我们在 sqlyog建了一个数据表 h_user , 我们在配原创 2021-09-05 18:01:16 · 2129 阅读 · 0 评论 -
hyperf 的事件机制
hyperf 的事件机制可以用来解耦 主要有三种对象, 事件, 事件监听器, 和事件调度器来 协助完成一个事件的处理 传送门事件: 它的作用就是一个封装的对象, 而这个对象的作用, 就是在 代码中和事件监听器之间来传送参数的, 也可以说它就是一个传送数据的载体, 没有什么实质性的功能监听器: 用来监听事件对象 (通过 listen方法来注册事件, 通过 process 方法来处理事件)事件调度器: 用来触发事件 和 管理 监听器 与 事件之间的关系实际代码比如, 我们在代码中注册了一个用户,原创 2021-09-04 17:32:32 · 1032 阅读 · 1 评论 -
hyperf 异常处理
在php 的系统中抛出异常, 会使程序退出, 就相当于一个 exit()的 代码, 但我们知道, 要 swoole 出现exit();或者抛出异常这样的代码是致命的, 因为它会是 worker 进程的退出,所以hyperf 使用了一个异常处理的handler 传送门看一下 hyper 异常处理的代码请求中抛出的异常一般 都是在 onrequest方法中执行的, 所有我们找到 onrequest 方法进入 Hyperf\HttpServer\Server::class 类, 找到 onReque原创 2021-09-03 10:34:12 · 2003 阅读 · 3 评论 -
hyperf 的中间件
这是自学的笔记, hyperf 中间件的官网传送门hyperf 的中间件就是一个洋葱模型创建一个中间键php bin/hyperf.php gen:middleware FooMiddlewarephp bin/hyperf.php gen:middleware BarMiddlewarephp bin/hyperf.php gen:middleware BazMiddleware以上就会自动创建三个中间键中间键的使用 (两种方式, 一是在routes.php中使用, 二是使用注解路由)原创 2021-09-02 22:57:19 · 1379 阅读 · 0 评论 -
hyperf 获取配置值
hyperf 的配置文件主要是在 config目录下的 config.php 和 autooad目录下的 所有文件, 可以能过 点语法来获取, 如果是autoload文件夹中的配置文件, 在获取时, 使用 文件名.键名.子键名的方式获取下面用代码来演示第一种方法 把config 对象注入到要使用的类中图中我们通过 inject() 和 var ConfigInterface的注解, 把config 对象注入进来, 就可以使用的, 使用时使用点语法如:我们要得到 confi原创 2021-09-02 18:18:25 · 992 阅读 · 0 评论 -
Hyperf 协程的使用
hyperf中使用协程可以大大提高系统的效率hyperf中的每一个请求都是协程的, 也就是说请求都是在协程内完成的, 比如, 我们的请求A过来后, 进入执行, 当A执行到 I/O 操作时, 当前线程就是接收另一个请求B并开始执行, 当请求B执行到 I/O操作时, 协程又会切换到A来执行, 切换是有一个协程调度器来操作的, 用户无需关心我们可以使用协程的判断函数来看一下, controller 类中的方法是不是在 协程内执行的hyperf 对协程的说明 传送门下面通过代码为说明使用协程创建一原创 2021-09-02 16:40:39 · 3101 阅读 · 2 评论 -
hyperf注解类的使用
首先在 app 中创建注解类的文件件app/Annotation创建一个注解类 FooAnnotation我们可以让这个注解类 实现 AnnotationInterFace 的接口, 但这样做要实现三个方法但是 hyperf 为我们提供了一个 抽像类, 通过它可以简化我们的方法以上就是我们定义的注解类了, 要注意的是 我们的注解类上必需添加 这两行注释少了它们, hyperf, 就不会认为它是一个注解类单纯的定义一个注解类是没有意义的, 我们要把它放入代码中,才有作用,下面就是它的原创 2021-09-02 11:41:17 · 1514 阅读 · 0 评论