{"id":34742704,"url":"https://github.com/yonna-framework/response","last_synced_at":"2026-05-22T20:05:15.514Z","repository":{"id":57087865,"uuid":"194695066","full_name":"yonna-framework/response","owner":"yonna-framework","description":"yonna 响应","archived":false,"fork":false,"pushed_at":"2020-05-15T09:46:32.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-26T15:39:14.781Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/yonna-framework.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":"2019-07-01T15:03:58.000Z","updated_at":"2020-05-15T09:46:09.000Z","dependencies_parsed_at":"2022-08-24T07:30:34.750Z","dependency_job_id":null,"html_url":"https://github.com/yonna-framework/response","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/yonna-framework/response","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonna-framework%2Fresponse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonna-framework%2Fresponse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonna-framework%2Fresponse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonna-framework%2Fresponse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yonna-framework","download_url":"https://codeload.github.com/yonna-framework/response/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yonna-framework%2Fresponse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33364337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"online","status_checked_at":"2026-05-22T02:00:06.671Z","response_time":265,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-12-25T04:24:45.200Z","updated_at":"2026-05-22T20:05:15.508Z","avatar_url":"https://github.com/yonna-framework.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License](https://img.shields.io/github/license/yonna-framework/response.svg)](https://packagist.org/packages/yonna/response)\n[![Repo Size](https://img.shields.io/github/repo-size/yonna-framework/response.svg)](https://packagist.org/packages/yonna/response)\n[![Downloads](https://img.shields.io/packagist/dm/yonna/response.svg)](https://packagist.org/packages/yonna/response)\n[![Version](https://img.shields.io/github/release/yonna-framework/response.svg)](https://packagist.org/packages/yonna/response)\n[![Php](https://img.shields.io/packagist/php-v/yonna/response.svg)](https://packagist.org/packages/yonna/response)\n\n## Yonna response库\n\n```\nResponse是一个响应组件\n根据Conllector可以为你提供一系列的数据格式组装\n支持 json xml text html array 等数据格式\n```\n\n## \n\n#### 如何安装\n\n##### 可以通过composer安装：`composer require yonna/response`\n\n##### 可以通过git下载：`git clone https://github.com/yonna-framework/response.git`\n\n\u003e Yonna demo：[GOTO yonna](https://github.com/yonna-framework/yonna)\n\n### Example\n\n```php\n\u003c?php\n    \n    use Yonna\\Response\\Response;\n    \n    // 调用Response的方法，大部分会返回一个Collector对象\n    \n    $collector = Response::success('请求成功');\n    $collector = Response::error('请求失败');\n    $collector = Response::broadcast('广播');\n    $collector = Response::goon('步进请求');\n    $collector = Response::notPermission('权限限制');\n    $collector = Response::notFound('资源丢失');\n    $collector = Response::abort('中断');\n    \n    // 其中throwable方法为特殊方法（一般用于跟踪抛出错误）\n    // 在debug模式下会打印出所有的trace\n    // * 根据 .env 文件内 IS_DEBUG 是否为 true 进行判断\n    \n    $collector = Response::throwable((new Exception('抛出')));\n    \n    // 你可以使用对象的各类转换方法，获得你想要的数据格式\n    \n    $collector-\u003etoJson();\n    $collector-\u003etoXml();\n    $collector-\u003etoArray();\n    $collector-\u003etoHtml();\n    $collector-\u003etoText();\n    \n    // 可以使用handle方法获得关闭请求前的预备response数据，你也可以直接用collector来获取\n    $handle = Response::handle($collector);\n    $collector-\u003eresponse();\n    \n    // 可以获得对应数据应该配置的header，response/getHeader方法在一些需要分离返回请求的场景十分有用，如swoole\n    $collector-\u003egetHeader();\n    \n    // 如果你只是一个简单的ajax服务器，那么可以直接end方法，会结束掉这一次的请求并给客户端返回相应的数据\n    $collector-\u003eend();\n    \n?\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyonna-framework%2Fresponse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyonna-framework%2Fresponse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyonna-framework%2Fresponse/lists"}