rhumsaa / vnderror
3.0.2
2023-01-14 17:31 UTC
Requires
- php: >=5.3.3
- nocarrier/hal: >=0.9.4 <0.9.7
Requires (Dev)
- jakub-onderka/php-parallel-lint: 0.8.*
- phpunit/phpunit: ~4.5
- satooshi/php-coveralls: 0.6.*
- squizlabs/php_codesniffer: ~2.2
README
Ramsey\VndError 是对 vnd.error 规范的 PHP 实现。此实现目前针对规范的第 e88d5cd1ad 修订版。
来自 vnd.error 规范
vnd.error 是一种简单的表达 XML 或 JSON 格式错误响应的方式。
通常在向客户端返回响应时,需要一个响应类型来向用户(无论是人类还是其他方式)表示一个问题。媒体类型表示是一种方便的方式,可以将错误以标准化的格式表达出来,并且可以被许多客户端应用程序理解。
示例
使用 application/vnd.error+json
或 application/vnd.error+xml
媒体类型与 HTTP 4xx 和 5xx 状态码通信错误。
use Ramsey\VndError\VndError; $vndError = new VndError('Validation failed', 42); $vndError->addLink('help', 'http://.../', array('title' => 'Error Information')); $vndError->addLink('describes', 'http://.../', array('title' => 'Error Description'));
JSON 输出(application/vnd.error+json)
header('Content-Type: application/vnd.error+json'); echo $vndError->asJson();
结果为
{ "message": "Validation failed", "logref": 42, "_links": { "help": { "href": "http://.../", "title": "Error Information" }, "describes": { "href": "http://.../", "title": "Error Description" } } }
XML 输出(application/vnd.error+xml)
header('Content-Type: application/vnd.error+xml'); echo $vndError->asXml();
结果为
<?xml version="1.0"?> <resource logref="42"> <link rel="help" href="http://.../" title="Error Information"/> <link rel="describes" href="http://.../" title="Error Description"/> <message>Validation failed</message> </resource>
安装
首选的安装方法是使用 Composer。
php composer.phar require ramsey/vnderror