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许可证的许可。