Vnderror
application/vnd.error builder/formatter for PHP 5.3+
Install / Use
/learn @ramsey/VnderrorREADME
ramsey/vnderror
Ramsey\VndError is a PHP implementation of the vnd.error specification. This implementation currently targets the e88d5cd1ad revision of the specification.
From the vnd.error specification:
vnd.error is a simple way of expressing an error response in XML or JSON.
Often when returning a response to a client a response type is needed to represent a problem to the user (human or otherwise). A media type representation is a convenient way of expressing the error in a standardised format and can be understood by many client applications.
Examples
Use application/vnd.error+json or application/vnd.error+xml media types
to communicate errors with HTTP 4xx and 5xx status codes.
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 output (application/vnd.error+json):
header('Content-Type: application/vnd.error+json');
echo $vndError->asJson();
Results in:
{
"message": "Validation failed",
"logref": 42,
"_links": {
"help": {
"href": "http://.../",
"title": "Error Information"
},
"describes": {
"href": "http://.../",
"title": "Error Description"
}
}
}
XML output (application/vnd.error+xml)
header('Content-Type: application/vnd.error+xml');
echo $vndError->asXml();
Results in:
<?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>
Installation
The preferred method of installation is via Composer:
php composer.phar require ramsey/vnderror
Related Skills
gh-issues
341.8kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
node-connect
341.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
341.8kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
tmux
341.8kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
