组件嗨(Hyperf)化计划
介绍
happy-join-hyperf
本计划由 Hyperf
使用者自行发起并加入,主要为了解决从其他 PHP框架
转到 Hyperf框架
开发时,核心组件无法被代替,导致需要重写大量代码的问题。
需要嗨化的组件,可以使用以下命令加入此计划
composer require limingxinleo/happy-join-hyperf --dev
当我们将仓库 push 到 Github 之后,就可以被自动识别,如下图所示
第一个嗨化的组件
这里介绍第一个被 Hyperf 化的组件
前不久,群里有小伙伴希望可以为 hyperf/cache 增加 tags
功能,当我第一次听到 tags
的时候,完全是懵逼状态,
这是个什么东西?
后来发现,这是 Laravel
的一个特性,如果没有使用过的人,完全不知道这个特性的功能。但对于大量使用此功能的 Laravel
开发者,迁移项目的时候,这个特性可能就显得额外重要了。
所以,就有了这个可以直接使用 illuminate/cache
的需求。而移植组件,对普通开发者而言,或者对于不熟悉 Hyperf 的开发者而言,确实有些困难。
于是,我便花了一上午的时间,将此组件做了移植,并进行开源。
嗨化规则
我希望所有嗨化的组件可以尽量遵守以下规则:
- 保留原组件的
LICENSE
- 尽量保留原组件命名空间
- 依赖
happy-join-hyperf
组件,方便Github
识别 READMD.md
中写明白与原组件的区别- 保持一个可以持续开源的心态,为自己的组件负责,严禁当
甩手掌柜
关于 Hyperf
Hyperf 是基于 Swoole 4.5+
实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM
的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换
与 可复用
的。
框架组件库除了常见的协程版的 MySQL 客户端
、Redis 客户端
,还为您准备了协程版的 Eloquent ORM
、WebSocket 服务端及客户端
、JSON RPC 服务端及客户端
、GRPC 服务端及客户端
、OpenTracing(Zipkin, Jaeger) 客户端
、Guzzle HTTP 客户端
、Elasticsearch 客户端
、Consul、Nacos 服务中心
、ETCD 客户端
、AMQP 组件
、Nats 组件
、Apollo、ETCD、Zookeeper、Nacos 和阿里云 ACM 的配置中心
、基于令牌桶算法的限流器
、通用连接池
、熔断器
、Swagger 文档生成
、Swoole Tracker
、Blade、Smarty、Twig、Plates 和 ThinkTemplate 视图引擎
、Snowflake 全局ID生成器
、Prometheus 服务监控
等组件,省去了自己实现对应协程版本的麻烦。
Hyperf 还提供了 基于 PSR-11 的依赖注入容器
、注解
、AOP 面向切面编程
、基于 PSR-15 的中间件
、自定义进程
、基于 PSR-14 的事件管理器
、Redis/RabbitMQ 消息队列
、自动模型缓存
、基于 PSR-16 的缓存
、Crontab 秒级定时任务
、Session
、i18n 国际化
、Validation 表单验证
等非常便捷的功能,满足丰富的技术场景和业务场景,开箱即用。
本作品采用《CC 协议》,转载必须注明作者和本文链接
这个名称有点意思!!!
作为lumen的深度使用者和illuminate/cache的第一个需求方,本人对李铭昕充满的感激,同时对Hyperf团队的高效和无私无比钦佩,感谢Hyperf团队让我们拥有PHP的无限可能
去年夏天我开启过一个类似的项目,整个项目的规划非常宏伟:把整个laravel框架自带的组件移植到hyperf,包括passport,sanctum,花了一两个月的时间,甚至已经完成了一部分组件的移植工作——最后发现两个框架无论在底层实现还是设计风格上差别都很大,就算完成移植也会显得不伦不类,再加上当时公司业务上的开发需求增多,就流产了。
这样移植过来没问题,但是如果每次 Illuminate\Cache 更新之后 都需要移植 那就不是理想的移植效果了
github.com/hyperf-ext/
希望大佬,添加sqlsrv 的驱动。
大佬, laravel-admin呢, 免去写后台的困扰。 :joy: :joy: :joy:
支持一下!!奈何公司业务太多,无法分身参与啦~
今天准备写个云信的组件,但是搞半天没弄懂到底怎么加入composer包。。。