PHP一定能让人想起这句话: PHP是世界上最好的语言!
先贴出框架在github里的开源地址:
hyperf开源地址:
https://github.com/hyperf/hyperf
了解一下Hyperf 是什么?
Hyperf 是基于 Swoole 4.5 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换 与 可复用 的。
本来打算将三个常用的swoole框架 swoft, easySwoole, 与hyperf集中到这篇文章的,但发现主题太大,一篇简短的文章难以描述清楚,所以先从最新的hyperf框架说起吧。
思考一下为什么要使用hyperf,列出一些问题点?
1 swoole框架与php框架有什么相同点和不同点?
2 为什么要用swoole框架?
3 hyperf简单好学好用吗?
文章标题已经定义了我们是围绕swoole的框架来开展的,所以非原生支持swoole的框架,比如YII或者Laravel,就先不讲了,这两个框架很多PHP开发都熟悉并且在目前多数中小型企业里一直有使用,当然也可以手动配置集成swoole到框架里,这篇文章只讲原生集成swoole的框架。
学习hyperf的框架一定要熟悉php的基本语法知识,最好把Laravel这个框架有一定了解,学习起来就比较轻松,如果熟悉Yii或者Laravel后在去看swoole框架完全是手到擒来,两个字简单。
做事,我们要在战术上藐视“敌人”,战略上重视“敌人”,首先保持一个良好的心态
1 swoole框架与php框架有什么相同点和不同点?
分析这个问题时,得先讲一讲swoole是什么?
Swoole 使用 C/C 语言编写,提供了 PHP 语言的异步多线程服务器、异步 TCP/UDP 网络客户端、异步 MySQL、异步 Redis、数据库连接池、AsyncTask、消息队列、毫秒定时器、异步文件读写、异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
除了异步 IO 的支持之外,Swoole 为 PHP 多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大 简化多进程并发编程的工作。其中包括了并发原子计数器、并发 HashTable、Channel、Lock、进程间通信IPC 等丰富的功能特性。
Swoole4.0 支持了类似 Go 语言的协程,可以使用完全同步的代码实现异步程序。PHP 代码无需额外增加任何 关键词,底层自动进行协程调度,实现异步IO。
以上swoole的特性来自于swoole的官网:
https://www.swoole.com/
swoole
简单点理解:Swoole不是框架,而是一个C/C 实现的PHP异步引擎.
顺便啰嗦一句,swoole已经商业化了,想集成swoole到自己项目里的普通人记得使用社区版本~
了解swoole后再看看关于框架的问题点:
1 swoole框架与php框架有什么相同点和不同点?
2 为什么要用swoole框架?
3 hyperf简单好学好用吗?
1 swoole框架与php框架有什么相同点和不同点?
先简化问题点
相同点:
1)都是php语言(解释型语言)开发,都需要php底层支撑
不同点:
1 )php运行依赖php-fpm与fastcgi(至于这两个是什么,有什么关系,大家可以自行搜索一下便清楚)php 框架的请求处理都是以进程为单位来同步执行的,hyperf依赖swoole是有线程与协程的支撑,可以自动进行协程调度,实现异步
2)原生php对资源消耗较大,处理数据能力较弱, swoole 可以提高php的处理性能
3)hyperf依赖swoole库的支撑,才能运行起来,如果swoole不支持最新版本php(比如8.0)则框架也无法使用,原生php语言没有这种限制。
如果要深刨底层可能写20篇文章能说清楚算好的了,这里只做一个大概性的了解。
2 为什么要用swoole框架?
1)这里可以返回再次读一次什么是hyperf。
2)Yii或者Laravel也可以手动配置swoole,只不过操作过程会复杂化,并且涉及三方SDK时会有一些深坑。
3)集成swoole的框架就是为了简化配置,操作与流程。
3 hyperf简单好学好用吗?
这是一个仁者见仁智者见智的问题,如果有用过go和Laravel会发现集成swoole学习了go的优点, hyperf集成了Laravel的一些实现,使用优秀“轮子”是一件好事。
没有学习过php的小伙伴会比较吃力, 但可以完全按hyperf的教程一步步学习,世上无难事,只怕有心人。
hyperf官网的网址以及学习文档地址:
https://www.hyperf.io/
hyperf
https://hyperf.wiki/2.0/#/
这篇文章比较简短,就围绕着swoole的框架hyperf来说明的,针对中小型的企业,有这套框架来支撑开发还是比较不错的,稳定了开发效率,提升了性能,我比较建议PHP的开发向swoole的框架靠拢(包括但不局限于hyperf, esasySwoole, swoft),传统的php框架真的的是比较浪费资源。
有人肯定会说php8.0 jit不是出来了吗?欢迎留言讨论php8.0 jit。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。导航:艺宵博客 » hyperf:php swoole框架