ramsey / vnderror
此包已被废弃且不再维护。未建议替代包。
适用于 PHP 5.3+ 的 application/vnd.error 构建器和格式化程序
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