swooletw / laravel-hyperf
基于强大的Hyperf框架的Laravel风格框架骨架。
Requires
- php: >=8.1
- ext-redis: *
- ext-session: *
- friendsofhyperf/http-client: ^3.1
- friendsofhyperf/model-observer: ~3.1.0
- friendsofhyperf/pretty-console: ~3.1.0
- friendsofhyperf/tinker: ~3.1.0
- hyperf/paginator: ~3.1.0
- hyperf/redis: ~3.1.0
- hyperf/session: ~3.1.0
- hyperf/validation: ~3.1.0
- hyperf/view: ~3.1.0
- hyperf/view-engine: ~3.1.0
- swooletw/hyperf-packages: dev-master
Requires (Dev)
- fakerphp/faker: ^2.0
- filp/whoops: ^2.15
- friendsofphp/php-cs-fixer: ^3.57.2
- hyperf/devtool: ~3.1.0
- hyperf/testing: ~3.1.0
- hyperf/watcher: ~3.1.0
- phpstan/phpstan: ^1.0
This package is auto-updated.
Last update: 2024-09-23 04:19:11 UTC
README
简介
Laravel Hyperf 是一个基于 Hyperf 框架的 Laravel 风格骨架,专为 Laravel 工匠设计。
除了Swoole带来的高性能外,它还采用了Laravel的目录结构和组件风格,并将许多常见的Laravel包(如 Auth
、Cache
、Config
、Container
、Command
、Database
、Event
、Facade
、Router
、Middleware
、Log
、Encryption
、Hashing
、错误处理
、验证
、服务提供者
、Blade
、Eloquent
、String
、Array
、Collection
、翻译
、测试
等)迁移到更协程友好。如果你是Laravel开发者,你会觉得这个框架非常熟悉,几乎不需要额外学习。
为什么选择 Laravel Hyperf?
虽然 Laravel Octane 非常令人印象深刻,并且显著提高了你的 Laravel 应用程序的速度和性能,但重要的是要考虑现代网络应用程序的本质。在大多数情况下,大多数延迟来自 I/O 操作,例如读取文件、查询数据库和进行API请求。
如果你的应用程序严重依赖于缓慢的I/O操作,你仍然可能会遇到性能瓶颈。考虑以下场景
想象一下构建一个由AI驱动的聊天机器人,其中每个会话API需要3-5秒才能响应。如果你在 Laravel Octane 中有10个工作进程,并且接收10个并发请求,所有工作进程都会被占用,直到这些请求完成。
你可以查看 Laravel Octane 和 Laravel Hyperf 之间的 基准比较
在这种情况下,即使 Laravel Octane 进行了改进,你的应用程序处理并发请求的能力仍然受到这些 I/O 操作持续时间的限制。Laravel Hyperf 通过利用协程来解决这个问题,允许高效地处理并发 I/O 操作而不阻塞工作进程。这种方法可以显著提高具有大量I/O需求的应用程序的性能和并发性。
对于I/O密集型场景,Laravel Octane 可能不会显著提高性能。此外,由于目前只有Swoole运行时支持此功能,并且考虑到框架和第三方包的向后兼容性,Laravel Octane 很可能在不久的将来不支持协程(参见 此问题)。
即使 Laravel Octane 支持协程,这些协程也仍然局限于单个请求,工作进程将保持阻塞,直到该请求中的所有I/O操作完成。这意味着你的 Laravel 应用程序在这种情况下无法获得更好的QPS结果。
有关更多信息,请参阅 此拉取请求
Laravel Hyperf 的目标是帮助 Laravel 工匠享受 Hyperf 的高性能,同时保持熟悉的 Laravel 开发实践。它与 Hyperf 包兼容,确保开发者可以共享相同的生态系统和社区。我们鼓励开发者为 Hyperf 项目做出贡献,同时造福 Hyperf 和 Laravel Hyperf。
文档
https://laravel-hyperf.com/docs
Laravel Hyperf 提供了全面且易于使用的文档,使您可以快速入门。从这份文档中,您可以了解如何使用 Laravel Hyperf 中的各种组件,并了解此框架与 Laravel 之间的区别。
这份文档中的大部分内容都参考了官方 Laravel 文档。我们感谢 Laravel 社区的贡献。
许可证
Laravel Hyperf 框架是开源软件,受MIT许可证的许可。