Returning JSON
The \BitFrame\Message\ResponseTrait
provides a handy withJson()
method to return the http response as a JSON/JSONP object. The signature for the method is as follows:
$response->withJson( // the data $data, // the http status code ?int $status = null, // name of index containing response body; it's // only included if key name is not null ?string $bodyKeyName = null, // callback name for JSONP calls; a response is // returned as JSONP only if callback name is not null ?string $jsonpCallback = null, // json encoding options int $encodingOptions = 0 ): ResponseInterface;
Consider the example usage as shown below:
$app->get("/about", function ($request, $response, $next) { $data = [ 'page_title' => 'About', 'page_heading' => 'About BitFrame' ]; $response->getBody()->write('Hello World'); return $response->withJson($data, 200, 'body'); }); /* output: { "page_title":"About", "page_heading":"About BitFrame", "body":"Hello World" } */
This is a non-PSR standards based method, and is only available on class objects that use \BitFrame\Message\ResponseTrait
. Default response objects created in BitFrame have this trait included automatically. The use of this helper method is strictly optional as it's merely meant as a shortcut to what you can just as easily accomplish without using it.