{"id":14966514,"url":"https://github.com/manaphp/manaphp","last_synced_at":"2025-05-16T04:05:48.394Z","repository":{"id":50636539,"uuid":"55986640","full_name":"manaphp/manaphp","owner":"manaphp","description":"ManaPHP Framework: Swoole+FPM","archived":false,"fork":false,"pushed_at":"2025-01-16T13:17:48.000Z","size":13710,"stargazers_count":285,"open_issues_count":0,"forks_count":52,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-08T14:11:08.190Z","etag":null,"topics":["ci","hyperf","laravel","phalcon","swoft","swoole","thinkphp","yii"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manaphp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-11T15:57:20.000Z","updated_at":"2025-02-18T13:18:28.000Z","dependencies_parsed_at":"2022-09-05T02:30:40.662Z","dependency_job_id":"cbf56920-a5b9-4d44-b681-e940feaec35b","html_url":"https://github.com/manaphp/manaphp","commit_stats":{"total_commits":7240,"total_committers":1,"mean_commits":7240.0,"dds":0.0,"last_synced_commit":"e0fb55d1a83a55ee3eaf9f4cd5b82472e2bfbccb"},"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manaphp%2Fmanaphp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manaphp%2Fmanaphp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manaphp%2Fmanaphp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manaphp%2Fmanaphp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manaphp","download_url":"https://codeload.github.com/manaphp/manaphp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464895,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","hyperf","laravel","phalcon","swoft","swoole","thinkphp","yii"],"created_at":"2024-09-24T13:36:31.018Z","updated_at":"2025-05-16T04:05:43.385Z","avatar_url":"https://github.com/manaphp.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e高性能 • 轻量级 • 命令行\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/platform-linux%20%7C%20win%20%7C%20osx-lightgrey.svg\"\u003e\n\u003c/p\u003e\n\n## ManaPHP 是什么\n\nManaPHP 秉承 **\"普及PHP协程, 促进PHP发展\"** 的理念而创造，采用Swoole扩展作为底层引擎，围绕常驻内存的环境而设计， 提供了 Console / Http 开发所需的众多开箱即用的组件。\n\nManaPHP追求简单、试图让更多开发者以更低学习成本享受到Swoole带来的高性能与全新的编程体验。\n\n## 与传统 MVC 框架比较\n\nManaPHP 支持三种执行方式: 传统模式(Apache/FPM)、常驻内存模式、协程模式。后两种模式具有传统框架无法比拟的性能优势。\n\n常驻内存模式: 与传统PHP框架不同，不需要WEB服务器(Apache/PHP-FPM)，框架自带基于`Swoole\\Http\\Server`开发的高性能HTTP服务器。\n传统的PHP应用程序中脚本结束后，所有的对象在请求后都装销毁，而ManaPHP不同，框架组件对象常驻内存，减少对象反复创建销毁的性能损失。\n\n协程模式: 开启协程后，一个进程可以并行处理N个请求，不会像传统模式/常驻内存模式那样阻塞进程，每增加一个请求只需要增加一些内存消耗，\n由于协程能并行处理，所以通常只需要配置于CPU数量一样多的进程数即可，更少的进程带来更少的CPU切换开销。\n\n## 与其他基于Swoole框架比较\n\n* ManaPHP框架非常轻量化，架构简单，源码可读性非常强，容易掌握与定制。\n* 开发方式与传统MVC框架完全一致，用户无需了解Swoole即可开发。\n* 框架集成了众多开箱即用的组件，方便快速开发。\n* 目前唯一不用修改代码就可以同时支持传统模式(Apache/FPM)、常驻内存模式、协程模式的框架，用户可渐进式学习、选择合适自己团队的模式。\n* 采用Swoole原生协程与最新的PHP Streams一键协程化技术。\n\n## 框架定位\n\n在其他Swoole框架都定位大中型团队、庞大的PHP应用集群的时候，ManaPHP决定推动技术的普及，我们定位于众多的中小型企业、创业公司，\n我们将Swoole的众多功能封装起来，用简单的方式呈现给用户，让更多的初中级程序员也可以打造高并发系统，让Swoole不再只是高级程序员的专属工具。\n\n## 核心特征\n\n* 命令行：封装了命令行开发基础设施，可快速开发控制台程序；\n* HTTP：常驻内存 + 协程+传统MVC框架相似的使用方法；\n* 高性能: 极简架构 + Swoole引擎 + 协程，超过`Phalcon`,`Yaf`这类C扩展框架的性能；\n* 服务器: 框架自带服务器，无需Apache/PHP-FPM等外置容器；\n* 协程：采用Swoole原生协程与最新的PHP Streams一键协程化技术；\n* 连接池: Db/Redis组件默认使用连接池;\n* 长连接: 按进程保持长连接，支持Db/Redis;\n* 依赖注入: 参考Phalcon及同类框架，实现了简易好用的IoC；\n* 组件： 基于组件的框架结构，并集成了大量开箱即用的组件；\n* 中间件：注册方便，能更好的对请求进行过滤和处理；\n* 路由：底层全正则实现，性能高，配置简单；\n* 视图： 使用类似Blade的高效模板引擎，使用预编译技术，比原生PHP引擎速度更快；\n* 自动加载: 支持Composer,可以很方便的使用第三方库;\n\n## 开发文档\n\nManaPHP开发指南:\n\n- [docs](docs/)\n\n## 环境要求\n\n* PHP \u003e= 8.0.2\n* Swoole \u003e= 4.6.7\n\n## 快速开始\n\n推荐使用 [composer](https://www.phpcomposer.com/) 安装。\n\n```\ncomposer create-project manaphp/app-api --prefer-dist\n```\n\n启动服务器:\n\n接下来启用`http`服务器\n\n```\nphp /var/www/html/public/index.php\n```\n\n访问测试(新开一个终端):\n\n```\ncurl http://127.0.0.1:9501/api\n```\n\n## 下载\n\n[ManaPHP 发行版本](https://github.com/manaphp/manaphp/releases)\n\n## 技术交流\n\n官方QQ群: [554568116](http://qm.qq.com/cgi-bin/qm/qr?k=xkXnkJZXsvgMyz4d8k_pKKJgPKJm8b-T\u0026group_code=554568116)\n\n## License\n\n[The MIT License (MIT)](https://mit-license.org/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanaphp%2Fmanaphp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanaphp%2Fmanaphp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanaphp%2Fmanaphp/lists"}