{"id":37010429,"url":"https://github.com/nbcx/framework","last_synced_at":"2026-01-14T00:59:59.966Z","repository":{"id":57024304,"uuid":"125005355","full_name":"nbcx/framework","owner":"nbcx","description":"一款深度兼容Swoole和FPM双模式运行，并且轻量，全功能，自由度高，无上手门槛的PHP开发框架！ ","archived":false,"fork":false,"pushed_at":"2019-05-28T02:55:24.000Z","size":385,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-17T09:34:43.405Z","etag":null,"topics":["framework","nb","php","server","swoole"],"latest_commit_sha":null,"homepage":"https://nb.cx","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nbcx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-13T06:48:49.000Z","updated_at":"2019-06-20T00:12:29.000Z","dependencies_parsed_at":"2022-08-23T13:50:32.620Z","dependency_job_id":null,"html_url":"https://github.com/nbcx/framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nbcx/framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbcx%2Fframework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbcx%2Fframework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbcx%2Fframework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbcx%2Fframework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nbcx","download_url":"https://codeload.github.com/nbcx/framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nbcx%2Fframework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28407634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T00:40:43.272Z","status":"ssl_error","status_checked_at":"2026-01-14T00:40:42.636Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["framework","nb","php","server","swoole"],"created_at":"2026-01-14T00:59:59.256Z","updated_at":"2026-01-14T00:59:59.953Z","avatar_url":"https://github.com/nbcx.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NB Framework\n\n[![Latest Version](https://img.shields.io/badge/beta-v2.0.0-green.svg?maxAge=2592000)](https://github.com/nbcx/framework/releases)\n[![Php Version](https://img.shields.io/badge/php-%3E=7.0-brightgreen.svg?maxAge=2592000)](https://secure.php.net/)\n[![Swoole Version](https://img.shields.io/badge/swoole-%3E=2.1.3-brightgreen.svg?maxAge=2592000)](https://github.com/swoole/swoole-src)\n[![NB Wiki](https://img.shields.io/badge/docs-passing-green.svg?maxAge=2592000)](https://wiki.nb.cx)\n[![NB Framework License](https://img.shields.io/hexpm/l/plug.svg?maxAge=2592000)](https://github.com/nbcx/framework/master/LICENSE)\n\nNB Framework 是一款深度兼容Swoole和FPM双模式运行，并且轻量，全功能，自由度高，无上手门槛的PHP开发框架！\n\n\n## 优势:\n- 自由在swoole和php-fpm两种运行方式之间切换\n- 高度自由的自定义开发模式，打造你自己独特的项目风格\n- 独立的DEBUG调试页面，使多端合作开发简单方便\n- 简单而强大的配置方式\n\n## 特性:\nNB提供了WEB开发中几乎所有的基础功能，且依旧保持轻量。你可以很容易的从头到尾构建一个强大的网站应用。\n- 全局的依赖注入容器\n- 支持 Swoole 扩展\n- 可扩展的驱动式组件开发\n- 国际化(i18n)支持\n- 数据库 ORM\n- 强大的调试系统\n- 视图模版\n- 快速灵活的参数验证器\n- 多类型的缓存驱动\n- 多模块支持\n- 命令行运行模式\n- 高内聚低耦合\n- 内置协程 HTTP, TCP, WebSocket 网络服务器\n- 协程 Mysql, Redis 客户端\n- 强大的命令行工具\n- Composer管理\n\n\n## 快速使用\n\n### 一种最简单最快速的使用方式\n\n1.在你的应用目录下新建如下结构：\n```\n/home/www/demo/                      项目根目录\n├─application                        应用目录\n│  ├─controller                      控制器目录\n│  │  └─Index.php                    测试控制器\n├─public                                \n│  └─index.php                       入口文件\n├─nb                                 框架系统目录\n├─tmp                                缓存目录,需要可读写权限                                \n```\n\u003e `框架系统目录`就是克隆或下载`framework`到根目录，并改名为`nb`即可。\n\n2.编写入口文件：\n```php\n\u003c?php\n//项目的根路径\ndefine('_APP_',__DIR__.'/..');\n\n//加载初始化文件\ninclude ('../nb/boot.php');\n\n\\nb\\Config::register();\n\n\\nb\\Dispatcher::run();\n```\n3.编写测试控制器\n```php\n\u003c?php\nnamespace controller;\nclass Index {\n\n    public function index() {\n        echo '\u003ch1\u003eWelcome to use NB Framework!\u003c/h1\u003e';\n    }\n}\n```\n4.配置Nginx\n```\nserver {\n    listen 80;\n    server_name demo.ol.cx;\n    index index.php;\n    root /home/www/demo/public/;\n\n    location / {\n        rewrite \".+\" \"/index.php\" last;\n    }\n\n    location ~ .*\\.php {\n        fastcgi_pass   127.0.0.1:9100;\n        fastcgi_index index.php;\n        include fastcgi.conf;\n    }\n\n    location ~ .*\\.(svg|woff2|map|html|woff|ttf|ico|css|js|gif|jpg|jpeg|png|bmp|swf)$ {\n        expires 90d;\n    }\n}\n```\n5.重启nginx，在浏览器访问`demo.ol.cx`,输出`Welcome to use NB Framework`则表示成功\n\n### 使用Swoole启动应用,确保swoole已经安装成功！\n1.再上面的目录下添加如下结构\n```\n/home/www/demo/                      项目根目录\n├─application                        应用目录\n│ ...\n├─bin                                   \n│  └─server                          服务启动文件\n├─config.inc.php                     框架配置文件\n```\n2.编写服务启动文件\n```php\n#!/usr/bin/env php\n\u003c?php\n//项目的根路径\ndefine('_APP_',__DIR__.'/..');\n\n//加载初始化文件\ninclude ('../nb/boot.php');\n\n\\nb\\Config::register();\n\\nb\\Console::run('server');\n```\n\u003e 编写完成后，给其执行权限：`chmod +x server`\n\n3.编写框架配置文件\n```php\n\u003c?php\nreturn [\n    'debug' =\u003e true,\n    \n    'server' =\u003e [\n        'driver'=\u003e'http',\n        'host'=\u003e'0.0.0.0',\n        'port'=\u003e9501,\n        'max_request'=\u003e100,//worker进程的最大任务数\n        'worker_num'=\u003e2,//设置启动的worker进程数。\n        'dispatch_mode'=\u003e2,//据包分发策略,默认为2\n        'debug_mode'=\u003e3,\n        'enable_gzip'=\u003e0,//是否启用压缩，0为不启用，1-9为压缩等级\n        'log_file'=\u003e__APP__.'tmp'.DS.'swoole-http.log',\n        'enable_pid'=\u003e__APP__.'tmp'.DS.'swoole-http.pid',\n        'daemonize'=\u003efalse,\n        //异步任务处理配置\n        'task_worker_num'=\u003e2,\n    ]\n];\n```\n4.运行\n```\n# 如果你的php命令已经加入系统环境里了，可以直接如下执行\n./server start\n\n# 如果没有再系统环境里，则需要使用完整的php命令路径来执行，如下，注意使用自己的路径\n/usr/bin/php server start\n```\n\n5.看控制台输出，并浏览器访问`127.0.0.1:9501`,输出`Welcome to use NB Framework`则表示成功.\n\n\n更多功能，可以查看[开发手册](https://wiki.nb.cx) 。\n\n## 协议\nNB Framework的开源协议为apache 2.0，详情参见LICENSE。\n\n## 其他\n- 官方QQ交流群：1985508\n- 项目官网主页：[https://nb.cx](https://nb.cx)\n- 文档维护地址：[https://wiki.nb.cx](https://wiki.nb.cx) \n\n欢迎各位老铁进群一起写代码。如果感兴趣，也请帮点个star吧！\n\n    \n    ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbcx%2Fframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnbcx%2Fframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbcx%2Fframework/lists"}